在inputAccessoryView
,UITextField
或UITextView
上添加UISearchBar
很容易。但是,据我所知,没有明显而简单的方法为您的基本UIView
添加一个!
我有一个遵循UIView
协议的UIKeyInput
子类。它接收键盘输入来做与输入文本无关的东西,所以我宁愿不强迫它继承前面指定的视图,因为它增加了膨胀并暴露了一堆没有做任何事情的属性,加上我我需要解决这些类本身发生的文本条目(更臃肿)。
但是,我的UIView
确实需要在其显示的键盘上输入附件视图才能正常运行。
有什么简单的方法可以解决这个问题吗?我是否必须在我的UIKeyboardWillShowNotification
子类中注册UIView
的观察者,并手动将子视图作为附件视图添加到其中?
答案 0 :(得分:9)
您是否尝试过将inputAccessoryView方法添加到viewController中? 我相信在显示键盘时会调用它,因此您实际上不必为每个textField或视图分配一个。
- (UIView *)inputAccessoryView
{
if (!inputAccessoryView)
{
CGRect accessFrame = CGRectMake(0.0, 0.0, 768.0, 77.0);
inputAccessoryView = [[UIView alloc] initWithFrame:accessFrame];
inputAccessoryView.backgroundColor = [UIColor blueColor];
UIButton *compButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
compButton.frame = CGRectMake(313.0, 20.0, 158.0, 37.0);
[compButton setTitle: @"Word Completions" forState:UIControlStateNormal];
[compButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[compButton addTarget:self action:@selector(completeCurrentWord:) forControlEvents:UIControlEventTouchUpInside];
[inputAccessoryView addSubview:compButton];
}
return inputAccessoryView;
}