【发布时间】:2013-09-14 14:39:15
【问题描述】:
我试图在我的 UINavigationView 上向 UIToolbar 添加一个 UITextField,但它没有出现在工具栏上。代码非常简单。这是它的样子:
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.toolbarHidden = NO;
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 200, 32)];
UIBarButtonItem *textFieldItem = [[UIBarButtonItem alloc] initWithCustomView:textField];
self.toolbarItems = [NSArray arrayWithObjects: textFieldItem, nil];
}
我尝试添加其他工具栏项,但它们都有效。例如,下面的代码没有问题。
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.toolbarHidden = NO;
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(openCamera:)];
self.toolbarItems = [NSArray arrayWithObjects: buttonItem, nil];
}
- (void)openCamera:(NSString *)str
{
// some code..
}
这是我对默认生成的单视图应用程序所做的唯一更改,我不知道为什么它不起作用。顺便说一句,我在 iOS7 上。有人知道发生了什么吗?谢谢!
【问题讨论】:
-
代码看起来没问题,尝试在 iOS 6 上运行以确保并考虑提出错误报告。同时添加一些其他按钮项,看看它们是如何布局的。
-
我试过在iOS6.1模拟器上运行,还是不行。我想这毕竟不是iOS版本的问题。此外,当我同时添加它们时,只会显示其余的工具栏项。 textField 没有。
标签: ios uitextfield uitoolbar uitoolbaritem