需要 2 个 UIBarButtonItem 后退按钮所在的位置
Posted
技术标签:
【中文标题】需要 2 个 UIBarButtonItem 后退按钮所在的位置【英文标题】:Need 2 UIBarButtonItems where back button is located 【发布时间】:2011-04-08 04:20:40 【问题描述】:我有一个典型的 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,那就可以了。
现在我尝试的另一种方法是在压入堆栈的视图上设置 leftBarButtonItem 但我似乎无法找到一种方法来创建左侧有尖形状的后退按钮。
有什么建议吗?
【问题讨论】:
【参考方案1】:你可以试试
self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc]
initWithCustomView:toolbar];
祝你好运
【讨论】:
这似乎是正确的解决方法。将 backBarButtonItem 设置为不同于 UIBarButtonItem(不是 UIView 子类)的 UIView 子类。 我刚试了,不行。我得到了按钮,但没有后面那个尖形状的按钮。 您可以将图像放入新按钮中,就像指向一个按钮一样。祝你好运以上是关于需要 2 个 UIBarButtonItem 后退按钮所在的位置的主要内容,如果未能解决你的问题,请参考以下文章
添加 UIBarButtonItem 覆盖 UINavigationController 后退按钮
反转 UIBarButtonItem“播放”以用作后退按钮?
使用自定义字体时,UIBarButtonItem 在后退手势上跳转
UIBarButtonItem 的默认后退按钮背景图像出现在我的自定义