iOS:用于实现指令覆盖:需要在布置另一个分支之前布置视图层次结构的一个分支

时间:2014-04-28 02:20:43

标签: ios uiview uiview-hierarchy

我正在尝试实施叠加层,以向用户提供有关应用中其他观看次数的说明。这是视图层次结构的草图:

SomeFullScreenContainerView
    FullScreenContainerOfInstructionView
        InstructionView
    FullScreenView
        MaybeSomeIntermediateViews
            ViewToProvideInstructionsFor

我需要相对InstructionView定位ViewToProvideInstructionsFor,但要做到这一点,我需要确保包含ViewToProvideInstructionsFor的视图层次结构的分支已经布局,以便我可以参考ViewToProvideInstructionsFor的框架来设置InstructionView的框架。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

<强>更新

一些想法:

  1. 使用自动布局约束,让布局引擎处理它。
  2. FullScreenContainerOfInstructionView完成后,将FullScreenView插入视图层次结构中。
  3. [FullScreenContainerOfInstructionView layoutSubviews]成为无操作,直到您设置一些标记表明FullScreenView已准备就绪。
  4. setNeedsLayout准备就绪后使用FullScreenView并且不必担心第一次传递不正确。
  5. <强>原始

    [viewThatNeedsToBeLaidOut layoutIfNeeded];