需要2个UIBarButtonItems,其中有后退按钮

时间:2011-04-08 04:20:41

标签: iphone cocoa-touch ipad uinavigationcontroller uinavigationitem

我有一个典型的UINavigationController方案,但我有很多视图,这意味着你最终可能会有相当多的视图叠加在一起。我想提供一个主页按钮,最初我打算将它放在导航栏的右侧;但是,我有一个搜索栏和另一个按钮,所以我希望把它放在后面的按钮旁边。

在ascii艺术中:

< Back |  |Home|                Title              |Browse| [Search Bar]

现在我尝试使用以下命令设置前一个视图控制器的backButtonItem:

        UIToolbar* toolbar = [[UIToolbar alloc]
                          initWithFrame:CGRectMake(0, 0, 100, 45)];
    [toolbar setBarStyle: UIBarStyleBlackOpaque];

    // create an array for the buttons
    NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:3];

    UIBarButtonItem *back = [[UIBarButtonItem alloc] init];
    back.title = @"Back";

    // create a standard save button
    [buttons addObject:back];
    [back release];

    // create a spacer between the buttons
    UIBarButtonItem *spacer = [[UIBarButtonItem alloc]
                               initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
                               target:nil
                               action:nil];
    [buttons addObject:spacer];
    [spacer release];

    UIBarButtonItem *homeButton = [[UIBarButtonItem alloc]
                                   initWithImage:[UIImage imageNamed:@"home32.png"] 
                                   style:UIBarButtonItemStylePlain 
                                   target:self 
                                   action:@selector(onHomeButton:)];
    homeButton.style = UIBarButtonItemStyleBordered;
    [buttons addObject:homeButton];
    [homeButton release];

    // put the buttons in the toolbar and release them
    [toolbar setItems:buttons animated:NO];
    [buttons release];

    // place the toolbar into the navigation bar
    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]
                                             initWithCustomView:toolbar];
    [toolbar release]; 

但似乎没有取代标准后退按钮。如果我只是尝试一个UIBarButtonItem并设置backButton,那就可以了。

现在我尝试的另一种方法是在推入堆栈的View上设置leftBarButtonItem,但我似乎无法找到一种方法来创建一个左侧尖尖形状的后退按钮。 / p>

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你可以尝试

吗?
self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc]
                                             initWithCustomView:toolbar];
祝你好运