2010-03-18 10 views

Répondre

1

AKAIK, il n'y a rien dans le SDK qui fait cela pour vous. Cependant, une vue UIScroll, avec quelques UIButons personnalisées et une image de masque astucieuse pourrait être utilisée pour reproduire quelque chose comme ce que vous avez montré dans la capture d'écran.

Quelque chose comme ceci: http://blog.sallarp.com/iphone-sliding-menu/

+0

Merci, je l'ai fait le travail avec lui – lefakir

+1

Alors, que diriez-vous d'accepter cela comme la bonne réponse à votre question? Merci. –

1

.h

IBOutlet UIScrollView *scrollView; 

@property (nonatomic , retain) IBOutlet UIScrollView *scrollView; 

-(void)AppleVijayAtFacebookDotCom:(id)sender; 

-(void)createMenuWithButtonSize:(CGSize)buttonSize withOffset:(CGFloat)offset noOfButtons:(int)totalNoOfButtons; 

.m

@synthesize scrollView; 



-(void)AppleVijayAtFacebookDotCom:(id)sender{ 


    NSLog(@"AppleVijayAtFacebookDotCom called"); 


    UIButton *button=(UIButton *)sender; 


    if (button.tag == 0) { 

     NSLog(@"hey have clicked first button, this is my tag : %i \n\n",button.tag); 
    } 
    else if (button.tag == 1) { 

     NSLog(@"hey have clicked second button, this is my tag : %i \n\n",button.tag); 

    } 
    // ......like this 

    NSLog(@"button clicked is : %iBut \n\n",button.tag); 



}  



-(void)createMenuWithButtonSize:(CGSize)buttonSize withOffset:(CGFloat)offset noOfButtons:(int)totalNoOfButtons{ 

for (int i = 0; i < totalNoOfButtons; i++) { 

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 

    [button addTarget:self action:@selector(AppleVijayAtFacebookDotCom:) forControlEvents:UIControlEventTouchUpInside]; 

     //[button1 setImage:[UIImage imageNamed:@"Button.png"] forState:UIControlStateNormal];//with image 

     //OR 

    [button setTitle:[NSString stringWithFormat:@"%iBut",i] forState:UIControlStateNormal];//with title 

    button.frame = CGRectMake(i*(offset+buttonSize.width), 8.0, buttonSize.width, buttonSize.height); 

    button.clipsToBounds = YES; 

    button.showsTouchWhenHighlighted=YES; 

    button.layer.cornerRadius = 10;//half of the width 

    button.layer.borderColor=[UIColor redColor].CGColor; 

    button.layer.backgroundColor=[UIColor blackColor].CGColor; 

    button.layer.borderWidth=2.0f; 

    button.tag=i; 

    [self.scrollView addSubview:button]; 

} 

self.scrollView.contentSize=CGSizeMake((buttonSize.width + offset) * totalNoOfButtons, buttonSize.height); 

    //self.navigationItem.titleView=self.scrollView;//if u have navigationcontroller then enable this line 

}

Ne pas oublier de connecter le ScrollView dans le constructeur d'interface

lors de la création de la scrollview dans IB assurez-vous que la hauteur de scrollView est de 44.qui est la barre de navigation par défaut.

in viewDidLoad call 

[self createMenuWithButtonSize:CGSizeMake(70.0, 30.0) withOffset:20.0f noOfButtons:30]; 

SORTIE

enter image description here