7

我试图在消息输入工具栏方面模仿 Apple 的 iMessage 应用程序。Apple 有一个UIToolbarwhich 是UITextView它包含的输入附件视图,也是inputAccessoryView实际视图的。这样,工具栏始终存在,当键盘出现时,它会随着键盘滑动。

在 iPad 上,它们似乎有一个UISplitViewController,并且工具栏是详细视图控制器的一部分。现在,当我进行相同的设置时,我的详细视图的输入辅助工具栏会延伸到整个宽度,所以就像键盘一样,它也与主视图控制器重叠。另一方面,Apple 以某种方式设法将输入附件限制在详细视图的约束中。

我怎样才能做到这一点?

4

2 回答 2

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];

}
于 2014-07-29T10:45:03.883 回答
0

无需使用 inputAccessoryView,只需将您的附件视图作为子视图添加到相应视图的底部即可。然后按照此处的说明将运动与键盘同步: 在keyboardWillShow keyboardWillHide中同步动画-同时硬件键盘和虚拟键盘

于 2017-01-27T20:01:26.813 回答