代码之家  ›  专栏  ›  技术社区  ›  Greg Sexton

调整nsview小于其子视图的大小?

  •  1
  • Greg Sexton  · 技术社区  · 14 年前

    在网上找不到任何关于这个的信息,想知道有没有人能解决这个问题。

    我有一个nsview,它有几个子视图,这些子视图以删除左右定位点为中心。当我通过编程或鼠标将视图调整到比子视图更小的宽度时:它会将它们推离中心。以前有人遇到过这个问题吗?你有解决办法吗?

    编辑 :我希望能够将视图的宽度调整为零。原因是,视图实际上是拆分视图的一部分,我挂上了一个按钮来“折叠”它。当它折叠时,所有子视图都被推离中心,并且在视图调整大小时不重新居中,从而有效地取消折叠。

    2 回复  |  直到 13 年前
        1
  •  1
  •   Greg Sexton    13 年前

    我现在已经解决了我的问题,我想如果将来有人遇到这个问题,我会和大家分享。

    在InterfaceBuilder中,没有多少玩自动调整选项或视图布局的游戏可以阻止我的子视图偏离中心。我确实找到了这个链接 here 从本页开始,建议:

    弹簧和支柱,与当前一样 实施,真的不好 除了保留一个或 视图的两侧“卡”在 最近边缘。任何形式的中心 行为,获得/损失区域划分 必须在多个视图之间 手工完成的。

    基于此,我超越了我的视野 setFrame: 方法并使用 框架: 方法。这个很好用,给了我想要的结果。

        2
  •  0
  •   JeanNicolas    13 年前

    使用nssplitview也有同样的问题,在这里将一个子视图的大小调整为比子视图小是有意义的,例如在上部子视图中有小图表,在下部子视图中有RSS阅读器。

    如果只想在下部子视图中显示RSS阅读器,可以“隐藏”上部子视图,但在调整上部子视图的大小后,nsImageView的布局与开始时不同。检查这个笔尖/ xCode Project 以及以下内容 screenshot 看到这种行为。

    唯一的解决方法是重写Resize函数以停止变小。