cocoa - 向现有窗口添加视图并调整大小

时间:2012-02-28 08:29:09

标签: cocoa view resize window tableview

在我有一个现有窗口的项目上工作,该窗口具有接受drop的视图。但是在完成删除后,我想添加一个表视图,并使窗口调整大小以适应表视图。旧的appzapper应用程序就是一个例子。

我之前没有这样做,如果有人能够指出我将如何做到这一点的正确方向或者一个很棒的教程。

1 个答案:

答案 0 :(得分:3)

有许多方法可以做到这一点,但它们都归结为:

  1. 制作视图,在您的情况下可能是带滚动视图的自定义视图 和里面的表视图。您可能不希望将其包装在自定义中 查看,但如果您以后需要添加按钮,这可以派上用场 或其他元素。
  2. 设置视图的框架。你可以硬编码,或者你可以采取 其他元素的位置并从那里计算出来。
  3. 告诉视图要添加新视图以添加它 (addSubview:
  4. 如果您以后想要再次删除它,请在您刚添加的子视图上调用removeFromSuperview

    Re:1 - 您可以根据需要在笔尖或代码中创建视图。

    根据您的编码风格,值得使用的一个技巧是在笔尖的原始设计中添加子视图,然后在awakeFromNib中将其删除并在控制器中保留对它的引用。然后,您重新调整原始视图的大小。

    确保您的布局struts设置正确,并且您可能希望将UI的其他部分包装在自己的视图中,以便在调整大小时它们不会意外移动。

    使用这种方法,当您再次添加子视图时,只需将较大的视图调整回其原始大小(可能在awakeFromNib期间读取并存储在控制器中),然后添加子视图。它已经有了正确的框架,然后向右滑回到你在Interface Builder中创建的笔尖中的位置(或者它的Xcode等价物)。