问题标签 [autolayout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa - NSSplitView 和自动布局
NSSplitView
我应该如何在子视图中使用自动布局约束?
我的NSSplitView
子视图有 3 个子视图:topPane
,tableContainer
并且bottomPane
我设置了这样的约束:
并在控制台中得到了这个:
我认为<NSAutoresizingMaskLayoutConstraint:0x7fd6c3630430 h=--& v=--& V:[NSView:0x7fd6c4b22e50(0)]>
会导致这种情况,但我无法重置自动调整掩码,因为NSSplitView
设置了它。
在拆分视图中使用自动布局的最佳方法是什么?有没有什么方法可以在没有自动布局的情况下处理拆分视图子视图的最小/最大大小NSSplitViewDelegate
?
cocoa - 我可以在 Interface Builder 中移动自动布局约束吗?
有时,自动布局约束会捕捉到错误的锚点——比如当我希望将控件锚定到其上方的控件并且自动布局约束被锚定到窗口底部时。有没有办法移动约束?ASCII 艺术应该更清楚地说明这一点。这就是我所拥有的:
而这正是我想要的:
我可以通过向上移动下部复选框将约束锚定到上部复选框,但这不是我想要的,我希望垂直空间更大。(复选框只是为了说明,我的真实用例有不同的看法。)
xcode - 我可以在运行时禁用特定子视图的自动布局吗?
我有一个需要以编程方式操作其框架的视图 - 它是一种包含其内容的文档视图,然后通过操作框架原点围绕超级视图滚动和缩放。自动布局在运行时与此作斗争。
完全禁用自动布局似乎有点苛刻,因为它可以合理地用于处理其他视图的布局。似乎我可能想要的是某种“空约束”。
xcode - 将 xib 文件迁移到 Xcode 4.4
这应该是一件容易的事,但令人惊讶的是,我找不到任何关于它是否可以做的信息。
我在旧版本的 Xcode/Interface Builder 中创建了一些 .xib 文件,我想使用 Xcode 4.4 的新功能,但到目前为止,我只能通过删除旧的 .xib 文件并创建新文件来实现这一点从头开始。
cocoa - 如何设置 NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints?
我从 Cocoa 自动布局机制收到以下消息:
将 NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints 设置为 YES 以在发生这种情况时自动调用 -[NSWindow VisualizeConstraints:]。
但我不知道如何“将 NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints 设置为 YES”。
我该如何设置?
cocoa - NSTableHeaderView 防止自动布局在拆分视图中调整滚动视图的大小
问题:为什么有一个标题视图会阻止滚动视图被自动布局调整大小?
我正在尝试将我的自定义视图嵌入到滚动视图中,而滚动视图又包含在拆分视图中。我在 Xcode 4.5 DP 4 中使用 Interface Builder 创建了以下视图层次结构,但在 Xcode 4.4 中似乎也发生了同样的问题。
现在,如果 TestView 提供了 NSTableHeaderView(通过 -headerView)属性,则拆分视图分隔线不能一直拖到底部(或右侧)以隐藏 TestView,而是停止到 TestView 的初始宽度或高度的边界。如果 -headerView 属性返回 nil,则可以自由拖动分隔线。
每次都可以重现这一点,只需创建一个新的 Cocoa 应用程序项目,添加视图并运行项目即可。步骤:
- 创建一个新的 Cocoa 应用程序项目
- 使用返回 NSTableHeaderView 实例的 headerView 属性创建 TestView 类。
- 编辑 MainMenu.xib 并添加拆分视图
- 添加自定义视图并使其成为 TestView
- 选择编辑器 -> 嵌入 -> 滚动视图
- 运行项目
(没有约束或其他界面生成器菜单)
测试视图.m:
任何指针,我应该怎么做才能让拆分视图分隔线再次移动?
objective-c - 缩放和中心 calayer 到 superview
当我缩放图层时,结果始终将原点设置为 CGPoint(0,0)。确保缩放后图层仍位于其超级图层中心的最佳方法是什么?
macos - 自动布局 - NSTextField 和 NSDatePicker [PIC] 的默认间距不同
我正在使用自动布局来组织我的视图。我目前处于项目的测试/设计阶段,我只是想让它正常工作。
我在一个窗口内堆叠了许多元素,我正在使用视觉格式语言来分隔视图之间的垂直距离。
这是VFL:
这就是它的实际样子:
即使所有元素都由相同的“-”标识符分隔,但实际空间是不同的。看起来 NSDatePicker 的偏移量似乎比窗口中的所有其他视图都小。
为什么是这样?
objective-c - 为什么基于自动布局的 NSWindow 在缩放后重绘不正确?
我从 Xcode 中的标准 Cocoa 应用程序模板创建了一个应用程序,并将其设置为使用自动引用计数。
我添加的只是 MainMenu.xib 中窗口的工具栏和表格视图。如果我此时运行应用程序,应用程序如下所示:
然后我单击标题栏中的绿色缩放按钮。该窗口随后最大化并填满整个桌面。然后我再次单击缩放按钮。窗口缩小到原来的宽度,而不是原来的高度。它没有最大化时的高度,但比原始高度高得多:
然后我右键单击工具栏并将其隐藏。工具栏动画消失,但随后立即再次可见。但是,不能单击按钮,也不能通过拖动来移动窗口。就好像工具栏实际上已停用一样。为了说明这一点,如果在这种状态下调整窗口大小,它看起来像这样:
为什么会发生这种情况,我应该怎么做才能防止它发生?我使用的是 OS X 10.8 和 Xcode 4.4,而不是开发者预览版。
更新:(2013 年 4 月)看起来这实际上是 Cocoa 中的一个错误。:-(
更新:(2013 年 6 月)从 10.8.4 开始,我无法再重现此问题。:-)
iphone - Anyone auto-layout masters able to enlighten me on constraints and rotation?
I'm trying to figure out auto layout constraints with a view in portrait and landscape. In portrait I have a container view (but any view will do) that is 320x200 pixels. When the phone is rotated to landscape, I would like that container view to fill the screen at 480x320.
Right now I'm doing this entirely in IB, and am trying to keep it that way for now. I struggle with the dang blue and purple constraint icons appearing when I try to set the the view to resize as I would like it to.
I've watched the WWDC auto-layout videos and have auto-layout working in other views, but I just can't get this seeming simple change to occur.
Any help would be appreciated. Thank you.