- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我刚刚在 github 上创建了一个空项目 --> here <-- 演示问题(在 objective-c 中完成)
该项目是一个简单的 Storyboard项目。 NSWindowController 加载 NSPageController,后者加载包含 3 个 Pane 的 NSSplitView。示例项目中没有代码,除了加载屏幕的代码。当项目运行时,它看起来像这样 .
当调整窗口大小时,如何获得约束以使 splitView 一直延伸到末端?奇怪的是,如果您将 NSWindowController 的 contentController 从 NSPageController 切换到 NSSplitViewController,那么一切都会按预期进行。这是苹果虫吗?请给我任何迅速/客观的答复,我将不胜感激。我试过了,但没有任何效果。
[编辑] - 根据下面的答案和进一步研究(联系 Apple),NSPageViewController 似乎不使用自动布局约束,而是依赖于自动调整掩码和 subview 的框架设置。
所以当页面 Controller 创建它的 View Controller 时,我们应该这样设置:
-(NSViewController *)pageController:(NSPageController *)pageController viewControllerForIdentifier:(NSString *)identifier {
NSViewController *viewController = [self.storyboard instantiateControllerWithIdentifier:identifier];
[viewController.view setAutoresizingMask:(NSViewWidthSizable|NSViewHeightSizable)];
return viewController;
}
至此,问题解决。我希望作为 future 的更新,此控件可以与自动布局约束一起使用,因为它看起来更自然。
最佳答案
我在使用 NSPageController
时遇到了很多问题。我发现解决方案是不使用自动布局。
尝试在您的 NSSplitView
上使用 NSAutoresizingMaskOptions
。首先,删除 NSPageController
中的所有约束。
然后:
splitView.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
splitView.frame = pageController.view.bounds;
或
splitView.autoresizingMask = [.ViewWidthSizable, .ViewHeightSizable]
splitView.frame = pageController.view.bounds
编辑
根据您的项目做了一个项目here
关于objective-c - Autolayout 不适用于带有 Storyboard 的 NSSplitView 和 NSPageController。这是苹果虫吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32325420/
作者:京东科技 王长春 背景 事情要回顾到双11.11备战前夕,在那个风雨交加的夜晚,一个急促的咚咚报警,惊破了电闪雷鸣的黑夜,将沉浸在梦香,熟睡的我惊醒。 一看手机咚咚报警,不好
嘿伙计们,下面是我用于学校作业的一段代码。每当我输入一个带有 O 的单词(大写 o)时,它都会失败!每当这个程序中有一个或多个大写 O 时,它就会返回 false 并记录:句子不是回文。 对于那些不知
我目前正在努力学习 go & Gorm,所以如果我遗漏了一些明显的东西,我深表歉意。 我已经声明了以下 GORM 模型 type User struct { gorm.Model Di
出于某种原因,Karma 尝试了 3 次打开 Chrome,并认为没有成功。加载后它工作正常,并显示它连接在两个套接字上。 我将 Chrome 安装在与 Karma 默认位置不同的位置,因此我必须链接
我发现一个非常奇怪的(恕我直言)行为,一些数据从 CSV 文件加载到 pandas 中。为了保护无辜者,让我们声明 DataFrame 位于变量 homes 中,并且除其他外,具有以下列: In [1
我是一名优秀的程序员,十分优秀!