使用导航栏获取与iPhone Safari应用程序中的选择器类似的内容?

时间:2011-08-15 21:37:09

标签: objective-c ios uinavigationbar uipickerview

在Safari中,当我按下一个下拉框时,一个选择器顶部会出现一个带有完成按钮和其他按钮的导航栏。

我想在我的选择器视图上方有一个带有两个按钮的类似栏,但我无法弄清楚如何在栏上放置按钮。使用导航控制器,我会这样做:

self.navigationItem.rightBarButtonItem = [UIButton .....
self.navigationItem.backBarButtonItem = [UIButton ......

但是我没有在导航栏上找到任何按编程方式创建的按钮属性。将按钮添加为子视图似乎也没有做任何事情。我该如何添加它们?

1 个答案:

答案 0 :(得分:0)

这是一个工具栏,而不是导航栏。设置其items属性以使用UIBarButtonItem对象填充它。请注意,这些与UIButton不同,实际上甚至不是UIView的子类;他们有自己的一套属性。一个简单的例子:

UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
toolbar.items = [NSArray arrayWithObjects:
                    [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease],
                    [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed)] autorelease],
                    nil];
someTextField.inputAccessoryView = toolbar;
[toolbar release];