我需要了解NSView如何自动化它的视图.我已经在IB中设置了所有内容,并且我的子视图调整得很好(当我用鼠标调整窗口大小时).但是,如果我[myMainView setFrame:]使用我的新帧rect,则没有任何反应.我的所有子视图仍然是原始大小(即使主视图具有正确的尺寸).孩子resizeWithOldSuperviewSize:被召唤,但它的大小仍然不合适.
屏幕上有一个屏幕充满了可可元素(屏幕#1),标签,图像,视频.这些元素有一个明确定义的布局.我通过Interface Builder设置了自动调整行为,效果非常好.调整主窗口大小可以令人满意的方式调整元素的大小.
现在,用户点击"下一步"按钮,然后绘制第二个屏幕元素(屏幕#2).我的布局是基于规范的屏幕尺寸(例如,800x600)构建的.但是现在窗口更大(或更小),因为它在屏幕#1中调整了大小.因此,元素现在只占用窗口中的一小块区域,而不是适当地调整大小以填充可用空间.我想扩展这些元素.
我误解了自动调整的工作方式吗?如何手动触发NSView下的自动调整机制?
我可以做两件事: