Ios 试图理解inputAccessoryView方法
在iOS Objective-C应用程序中,我试图在键盘顶部设置一个条。我希望通过位于此栏中的UITextView激活键盘。但是,我无法显示该栏。 我的理解是: 但是,不会显示视图,textView也不会显示。 我尝试将textView作为主控制器视图的子视图,当textView显示时,myUIView没有显示 在这种方法中我做错了什么 您没有正确使用InputAccessoryView。您正在将UITextView作为子视图添加到InputAccessoryView,在子视图中,您的UITextView应该添加到类似UIViewController的视图中 您需要像以前一样将InputAccessoryView分配给UITextView,也就是说,当键盘显示时,InputAccessoryView将位于键盘区域上方 检查下面的示例,了解如何将其添加到代码中:Ios 试图理解inputAccessoryView方法,ios,objective-c,uiview,inputaccessoryview,Ios,Objective C,Uiview,Inputaccessoryview,在iOS Objective-C应用程序中,我试图在键盘顶部设置一个条。我希望通过位于此栏中的UITextView激活键盘。但是,我无法显示该栏。 我的理解是: 但是,不会显示视图,textView也不会显示。 我尝试将textView作为主控制器视图的子视图,当textView显示时,myUIView没有显示 在这种方法中我做错了什么 您没有正确使用InputAccessoryView。您正在将UITextView作为子视图添加到InputAccessoryView,在子视图中,您的UITex
- (void)viewDidLoad {
[super viewDidLoad];
UITextView *textView = [UITextView new];
textView.frame = CGRectMake(100, 100, 100, 40);
textView.backgroundColor = [UIColor redColor];
UIView *accessoryView = [UIView new];
accessoryView.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 44);
accessoryView.backgroundColor = [UIColor greenColor];
textView.inputAccessoryView = accessoryView;
[self.view addSubview:textView];
}
或快速版本
override func viewDidLoad() {
super.viewDidLoad()
let textView = UITextView()
textView.frame = CGRect(x: 100, y: 100, width: 100, height: 40)
textView.backgroundColor = .red
let accessoryView = UIView()
accessoryView.frame = CGRect(x: 0, y: 0, width: view.frame.size.width, height: 44)
accessoryView.backgroundColor = .green
textView.inputAccessoryView = accessoryView
view.addSubview(textField)
}
这是绿色背景的输入附件视图的快照
提供的不同解决方案有效,但要求我的文本视图位于inputAccessoryView之外。 我的解决方案基于此可用的工作,完全满足了我的期望。
简而言之,它所做的是重写inputAccessoryView函数,以提供即时构建的UIView,其中包括textView。谢谢Ladislav。这确实更好,但我现在有两个问题:1。我需要将textfield放入accessoryview,或者至少显示在其顶部,但现在无法使用,因为它已被隐藏。2.隐藏键盘时如何显示accessoryview?当前,它仅在拔出键盘时显示。ThanksInputAccessoryView仅在UITextView正在编辑时可见,这意味着您可以点击它并可以键入。因此,即使用户未在UITextView中键入内容,您也需要InputAccessoryView可见?是的,当用户未键入内容时,键盘处于隐藏状态,我希望accessoryView保持在屏幕底部。然后,您必须制定自定义解决方案,您将在其中收听UIKeyboardWillShow和UIKeyboardWillHide例如,在随此方法发送的通知对象内,您可以获取键盘的高度并设置自定义视图的动画,诸如此类……您是否可以尝试使用IQKeyboard作为附件视图?如果您尝试这样做。CLICK on view&视图应位于键盘上方。
override func viewDidLoad() {
super.viewDidLoad()
let textView = UITextView()
textView.frame = CGRect(x: 100, y: 100, width: 100, height: 40)
textView.backgroundColor = .red
let accessoryView = UIView()
accessoryView.frame = CGRect(x: 0, y: 0, width: view.frame.size.width, height: 44)
accessoryView.backgroundColor = .green
textView.inputAccessoryView = accessoryView
view.addSubview(textField)
}