我试图在消息输入工具栏方面模仿Apple的iMessage应用程序。 Apple有一个UIToolbar
,它是其包含的UITextView
的输入附件视图,也是实际视图的inputAccessoryView
。这样,工具栏始终存在,当键盘出现时,它会随键盘一起滑动。
在iPad上,它们似乎有UISplitViewController
,工具栏是详细视图控制器的一部分。现在,当我进行相同的设置时,我的细节视图的输入附件工具栏会拉伸到整个宽度,因此就像键盘一样,它也会与主视图控制器重叠。另一方面,Apple以某种方式设法将输入附件限制为详细视图的约束。
我该怎么做?
答案 0 :(得分:3)
仅inputAccessoryView
中的一个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];
}
答案 1 :(得分:0)
只需将您的accessoryView作为子视图添加到相应视图的底部,而不是使用inputAccessoryView。然后按照此处的说明与键盘同步运动: Synchronizing Animations in keyboardWillShow keyboardWillHide -- Hardware Keyboard & Virtual Keyboard Simultaneously