Jos*_*osh 2 objective-c uitableview ios inputaccessoryview
我正在尝试复制Facebook Messenger App,其中有一个UITextView连接到键盘的顶部.
由于这个应用程序的性质,我需要view连接,而不是ScrollView在键盘出现时手动上下滚动.
这可以通过使用a来实现inputAccessoryView.
我在这里阅读了文档.
文档非常简短,并说:
"此属性通常用于将附件视图附加到为UITextField和UITextView对象呈现的系统提供的键盘.
此只读属性的值为nil.如果要将自定义控件附加到系统提供的输入视图(例如系统键盘)或自定义输入视图(您在inputView属性中提供的视图),请在UIResponder子类中将此属性重新声明为read-write.
然后,您可以使用此属性来管理自定义附件视图.当接收器成为第一响应者时,响应者基础设施将附件视图附加到适当的输入视图,然后再显示它.
我试过宣布一个属性
@interface CommentViewController ()
@property (nonatomic, readwrite, retain) UIView *inputAccessoryView;
@end
Run Code Online (Sandbox Code Playgroud)
然后设置它:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(0, 20, 320, 100)];
[view setBackgroundColor:[UIColor greenColor]];
self.inputAccessoryView = view;
}
Run Code Online (Sandbox Code Playgroud)
然后我试着调用这两个:
[self.tableView becomeFirstResponder];
[view becomeFirstResponder];
什么都没发生.我究竟做错了什么?
*注意 - 额外信息:我使用的UITableViewController是我希望UIView附加的inputAccessoryView.一旦我得到了视图工作,那么我将添加一个UITextView和更多,但这主要是一个例子.
任何帮助是极大的赞赏!
将输入附件添加到textField或textView而不是纯UIView.
self.mytextField.inputAccessoryView = view;
Run Code Online (Sandbox Code Playgroud)