Iphone 当一个子视图大小更改时,如何调整其他子视图和父视图的大小
我有一个类似邮件应用程序的视图。我有一个滚动视图和许多其他子视图。当用户单击任何textview时,它会展开以显示其中的文本。e、 邮件中的“收件人”字段。我希望调整其他子视图的大小,使其从展开区域下方开始。我该怎么做呢Iphone 当一个子视图大小更改时,如何调整其他子视图和父视图的大小,iphone,xcode,uiview,subview,Iphone,Xcode,Uiview,Subview,我有一个类似邮件应用程序的视图。我有一个滚动视图和许多其他子视图。当用户单击任何textview时,它会展开以显示其中的文本。e、 邮件中的“收件人”字段。我希望调整其他子视图的大小,使其从展开区域下方开始。我该怎么做呢 我通过IB创建了视图,并将其标记为灵活的上边距,以便于实现这一点。但是没有自动发生任何事情,因此我想知道是否需要调用sizethatFits/setneedsLayout。当子视图调整大小时,调用[[self superview]setneedsLayout]。在supervi
我通过IB创建了视图,并将其标记为灵活的上边距,以便于实现这一点。但是没有自动发生任何事情,因此我想知道是否需要调用sizethatFits/setneedsLayout。当子视图调整大小时,调用
[[self superview]setneedsLayout]
。在superview中,实现-layoutSubviews
以进行实际布局。你必须自己计算每件事。固定/灵活的边距与调整superview的大小有关,而与对等视图无关。默认的-layoutSubviews
完全不起作用;它只是在适当的时候被调用
如果您需要强制布局发生在特定点,那么您可以在自己或superview上调用-layoutifneed
。阅读有关此方法工作原理的文档。不过,一般来说,你不需要称之为。如果只使用-setNeedsLayout
,它通常会在适当的时间被调用