【问题标题】:Auto Layout: Create constraint between two views in separate windows自动布局:在不同窗口中的两个视图之间创建约束
【发布时间】:2013-10-23 03:06:30
【问题描述】:

是否可以通过编程方式在位于不同窗口的两个视图之间创建约束?

如果是,那么我可以考虑对answer to "UIView atop the Keyboard similar to iMessage App" 进行可能的改进。

我可以设置tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive,其中tableView 显示消息,并使用dummyInputAccessoryView。然后,我想使用自动布局将dummyInputAccessoryView 的高度限制为toolbar 的高度,其中包含inputTextViewsendButton,以及top oftoolbarto that ofdummyInputAccessoryView`。

【问题讨论】:

    标签: ios uiview keyboard message autolayout


    【解决方案1】:

    不,我认为不同窗口中的两个视图不能包含在同一个约束中,因为我认为不同的窗口不能有一个共同的祖先视图。

    iOS Developer Library: Auto Layout Guide: Installing Constraints

    要使约束处于活动状态,您必须将其添加到视图中。持有约束的视图必须是约束所涉及的视图的祖先,并且通常应该是最近的共同祖先。 (这是现有 NSView API 对祖先一词的意义,其中视图是其自身的祖先。)约束在该视图的坐标系中解释。

    【讨论】: