开发者

add a small bar below UINavigationBar

开发者 https://www.devze.com 2022-12-23 02:53 出处:网络
I want to use many bars like this one in my app (i don\'t know how to name it : the bar that contains \"The Early Show\" \"48 Hours\").

I want to use many bars like this one in my app (i don't know how to name it : the bar that contains "The Early Show" "48 Hours").

Is there a simple way to create something like this 开发者_如何转开发? What are the basic objects to use ? Thanks.

bar from CBS app http://a1.phobos.apple.com/us/r1000/056/Purple/38/9f/8a/mzl.bqhasrjw.320x480-75.jpg


AKAIK, there is nothing in the SDK that does this for you. However, a UIScroll view, with some custom UIButons and a nifty mask image could be used to reproduce something like what you've shown in the screenshot.

Something like this: http://blog.sallarp.com/iphone-sliding-menu/


.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

}

Dont forget to connect the scrollView in interface builder

while creating the scrollview in IB make sure ur scrollView height is 44.which is default to navigation bar.so it will look nice.

in viewDidLoad call 

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

OUTPUT

add a small bar below UINavigationBar

0

精彩评论

暂无评论...
验证码 换一张
取 消