Ste*_*son 7 cocoa-touch interface-builder uitoolbar uinavigationcontroller uitoolbaritem
在iPhone OS 3.0中,您可以使用该setToolbarItems:animated:
方法设置UINavigationController的工具栏项.但是,这需要您传入一个UIToolbarItem数组.虽然我可以以编程方式创建这些工具栏项,但我宁愿在Interface Builder中创建它们.
考虑到这一点,我在"MyGreatViewController.xib"中创建了一个UIToolbar,并用想要的工具栏项填充它.然后,在"MyGreatViewController.m"中,我从工具栏中获取项目并将它们传递给setToolbarItems:animated:
:
- (void)viewDidLoad {
[super viewDidLoad];
[self setToolbarItems: [toolbar items]];
}
Run Code Online (Sandbox Code Playgroud)
...在哪里toolbar
是一个引用UIToolbar的IBOutlet.
这是一个好方法吗?有没有更好的方法来实现这一目标?我应该以编程方式创建项目吗?
Kri*_*son 12
我不知道这是否记录在任何地方,但我发现在Interface Builder中,如果启用导航控制器的工具栏,您可以将条形项目拖动到视图控制器,它们将自动显示在导航控制器的工具栏中.
例如,这是我们可以做的(在Snow Leopard上使用Xcode 3.2):
MainWindow.xib
在Interface Builder中打开.RootViewController
.似乎添加为导航项的子项的任何条形按钮项将显示在导航栏中,并且作为视图控制器的子项添加的任何条形按钮项将显示在工具栏中.
(我偶然发现了这个.如果有人能找到这种行为的文档,或者任何其他信息,我想听听它.)
这是一种完全可以接受的方法,但请记住,在 iPhone 上加载 xib 文件非常昂贵,并且在 viewDidLoad 方法中以编程方式创建工具栏项可能会更快。
归档时间: |
|
查看次数: |
18241 次 |
最近记录: |