我想这的UITextField添加到UIToolbar,但有一个运行时错误与理由:[视图的UITextField]:无法识别的选择发送到实例...添加到的UITextField UIToolbar
[toolbar setItems:[NSArray arrayWithObjects:textField, nil]];
工具栏是一个UIToolbar和textField的实例是UITextField的一个实例。
我想这的UITextField添加到UIToolbar,但有一个运行时错误与理由:[视图的UITextField]:无法识别的选择发送到实例...添加到的UITextField UIToolbar
[toolbar setItems:[NSArray arrayWithObjects:textField, nil]];
工具栏是一个UIToolbar和textField的实例是UITextField的一个实例。
一个UIToolbar
的items
必须UIBarButtonItem
类型。使用initWithCustomView:
创建一个包含文本字段的工具栏项目。
UIBarButtonItem *textFieldItem = [[UIBarButtonItem alloc] initWithCustomView:textField];
toolbar.items = @[textFieldItem];
OMZ的回答仍然以上回答我的问题在2017年,但这里是更新到iOS 10和斯威夫特3。我要创建一个UIToolbar
,它具有在其左侧和右侧UITextField
和.flexibleSpace
到工具栏上居中的文本字段。
let toolbar = UIToolbar()
let flexibleBarButton = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil)
let textfield = UITextField()
let textfieldBarButton = UIBarButtonItem.init(customView: textfield)
// UIToolbar expects an array of UIBarButtonItems:
toolbar.items = [flexibleBarButton, textfieldBarButton, flexibleBarButton]
view.addSubview(toolbar)
可以当然缩短上面的代码,并添加UIToolbar
的框架等,但上面的应该是特别添加UITextField
作为UIBarButtonItem
更‘清晰’的例子。
我希望这有助于!
+1的回覆。 – user523234