我可以完全免费添加一个 UIBarButtonItem IB 吗?
Posted
技术标签:
【中文标题】我可以完全免费添加一个 UIBarButtonItem IB 吗?【英文标题】:can I add a UIBarButtonItem completely IB free? 【发布时间】:2011-07-18 21:27:06 【问题描述】:我在视图控制器中以编程方式创建了导航栏和标签。现在我想添加一个“完成”按钮,但似乎找不到不使用 IB 的方法....有什么方法可以做到吗?
这是我的视图控制器的 viewDidLoad:
//Adding navBar programmatically
CGFloat width = self.view.frame.size.width;
UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0,0,width,52)];
navBar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[self.view addSubview:navBar];
//Adding label to navBar programmatically
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10,2,width-20,14)];
label.autoresizingMask = UIViewAutoresizingFlexibleWidth;
label.text = @"TITLE";
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont systemFontOfSize:22];
label.shadowOffset = CGSizeMake(1,1);
label.textColor = [UIColor whiteColor];
label.textAlignment = UITextAlignmentCenter;
[navBar addSubview:label];
//Adding back button to navBar programmatically
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(dismissView:)];
self.navigationItem.leftBarButtonItem = rightButton;
最后一部分显然不起作用...
感谢您的帮助!
【问题讨论】:
也许你读过这篇 [post][1] :) [1]: ***.com/questions/6464920/… 也许你读过这篇 [post][1] :) [1]: ***.com/questions/6464920/… 他正在使用 uinavigationcontoller,我没有。这是一个不同的情况。谢谢。 【参考方案1】:你为什么不改用UIToolBar
?
要将按钮添加到UINavigationBar
,您需要创建一个UINavigationItem
。如果您将UINavigationBar
用作UINavigationController
的一部分(通常情况下),这是自动完成的,作为独立视图,您必须自己执行此操作。
UINavigationItem *item = [[[UINavigationItem alloc] initWithTitle:@""] autorelease];
item.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(dismissView:)] autorelease];
[navBar setItems:[NSArray arrayWithObject:item] animated:NO];
【讨论】:
谢谢,有帮助!同意工具栏 - 那么为什么 UINavigationBar 在那里呢?如果我们假设只将它与 uinavcontroller 一起使用,它会自动添加它怎么办......?再次感谢!【参考方案2】:navigationItem 仅在您在导航控制器中推送视图控制器时使用
在你的情况下你需要使用
-pushNavigationItem:动画:
在 UINavigationBar 上
查看文档了解更多详情:
http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UINavigationBar_Class/Reference/UINavigationBar.html
【讨论】:
以上是关于我可以完全免费添加一个 UIBarButtonItem IB 吗?的主要内容,如果未能解决你的问题,请参考以下文章