как сделать скользящее меню в верхней части страницы - PullRequest
0 голосов
/ 28 апреля 2010

Я новичок в программировании iphone. Я просматривал различные приложения в iTunes. Нашел это отличное меню. Не могли бы вы, ребята, помочь мне понять, что нужно сделать технически для достижения этого меню.

Пользователь может перемещать это меню слева направо или наоборот, не нарушая вид снизу. как этого добиться? Заранее спасибо

альтернативный текст http://a1.phobos.apple.com/us/r1000/039/Purple/ed/2d/d7/mzl.uawcjxjf.320x480-75.jpg

альтернативный текст http://a1.phobos.apple.com/us/r1000/019/Purple/54/e1/08/mzl.usfrcvkh.320x480-75.jpg

Ответы [ 2 ]

1 голос
/ 05 августа 2011

.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

}

Не забудьте подключить scrollView в конструкторе интерфейсов

при создании прокрутки в IB убедитесь, что высота scrollView равна 44. По умолчанию это панель навигации. Так что это будет хорошо выглядеть.

in viewDidLoad call 

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

OUTPUT

enter image description here

0 голосов
/ 03 мая 2010

Этот пример помог мне. http://blog.sallarp.com/iphone-sliding-menu/

...