UISplitViewController仅用于详细说明inputAccessoryView
我试图根据消息input工具栏模仿苹果的iMessage应用程序。 苹果有一个UIToolbar
,它是它包含的UITextView
的input附件视图,也是实际视图的inputAccessoryView
。 这样,工具栏总是存在,当键盘出现时,它随着键盘滑动。
在iPad上,他们似乎有一个UISplitViewController
,工具栏是详细视图控制器的一部分。 现在,当我有相同的设置,我的细节视图的input附件工具栏延伸到整个宽度,所以就像键盘,它也重叠主视图控制器。 另一方面,苹果以某种方式设法将input配件限制在细节视图的约束范围内。
我怎样才能做到这一点?
这是不可能的只有一个viewController在UISplitViewController
。 我的方法是将inputAccessoryView
作为容器,并在其中有320px
偏移量的子视图。
- (void)setFrame:(CGRect)frame { if (RUNNING_ON_IPAD) { CGFloat superviewWidth = self.superview.bounds.size.width; CGFloat offset = 321.f; frame.origin.x = offset; frame.size.width = superviewWidth - offset; } [super setFrame:frame]; }
而不是使用inputAccessoryView,只需在相应的视图底部添加您的accessoryView作为子视图。 然后按照以下说明使键盘同步运动: 在键盘中同步animation键盘显示键盘将同时显示硬件键盘和虚拟键盘