我试图通过将一个简单的 Swift 应用程序转换为它来了解 NSLayoutAnchor 在 Objective-C 中的工作原理。 Swift 应用程序创建一个 NSView 子类,将其图层的背景颜色设置为随机生成的颜色(扩展为 NSColor),然后在 AppDelegate 中创建它的两个实 ...
我试图通过将一个简单的 Swift 应用程序转换为它来了解 NSLayoutAnchor 在 Objective-C 中的工作原理。 Swift 应用程序创建一个 NSView 子类,将其图层的背景颜色设置为随机生成的颜色(扩展为 NSColor),然后在 AppDelegate 中创建它的两个实 ...
很多关于以编程方式实现滚动视图的 SO 帖子,但我还没有找到针对这种情况的解决方案......在这里我将子视图添加到文档视图(所有内容都使用布局锚点),除了滚动。 我认为这里的问题是 AppKit 将示例中的约束解释为没有任何内容可滚动,但我不确定为什么...... ...
我一直在关注 Paul Hudsons 的 Hacking with Swift 教程,我正在完成项目 6,他以编程方式使用布局约束。 我一直在仅使用 Interface Builder 完成此类任务,但我很想学习如何以编程方式完成它。 在他的教程中,我们有以下代码将 5 个 UILabel 添加到 ...
我正在尝试为 UIView 编写扩展,以便更轻松地为视图设置锚点。 这个想法是写一个这样的 setAnchors 方法: 可以这样调用: 我收到以下错误: 无法将“NSLayoutAnchor”类型的值转换为预期的参数类型“NSLayoutAnchor” 我知道我可以将 topAnchor 作为 ...
锚约束简化了添加约束,但 storyboard 中可用的乘数属性似乎不适用于所有类型的约束。 例如,根据此处的答案,您可以将 label 在视图中居中: 但是,显然,虽然您可以设置长度约束的乘数,如下所示: someView.heightAnchor.constraint(equalTo: heig ...
我正在尝试添加一个始终与其父级大小相同的子视图,以便在父级大小发生变化时始终调整大小。 我正在考虑从代码中添加(顶部、底部、前导、尾随)约束。 当我添加子视图时,将执行以下代码: 但子视图大小保持为 0,并显示在屏幕的左上角。 我不明白为什么它的大小为零,因为我设置了它的框架,也因为它具有设置其大小 ...
我有一个按钮,可以根据某些情况改变大小。 我不需要完成动画,因为用户永远不会看到发生的变化。 有时,当从较小尺寸切换回较大尺寸时,按钮会卡在较小尺寸处。 我认为layoutIfNeeded()会解决这个问题。 问题是我应该在什么时候在下面的setCameraButtonToNormalSize() ...
我将以编程方式创建UIView,然后使用约束从下至上为该视图设置动画。 但是动画不会显示在该视图对象上。 ...
我想在iOS中创建一个类似于android的菜单。 我正在使用布局约束来设置约束 。 我在尝试在按钮单击时更新图像的左约束时会遇到问题(它应动画化到被单击按钮的位置)。 谁能帮我? 它应该支持风景和肖像。 我不想使用第三方代码,也不想使用NSLayoutconstraint 。 ...
我使用以下代码: show函数工作正常,但是hide函数不起作用, heightAnchor不起作用。 ...
在我的一个控制器中,我正在使用带有两个单元格的UICollectionView(该单元格的正面有一个按钮,如果用户点击该单元格,则应该在单元格的另一侧显示他/她)。 所以在我的细胞班里有这个: 这两个视图中都有很多元素,为了构造这些元素,我主要使用Visual Format约束和锚 ...
为什么如果我有一个带有按钮的简单视图控制器,一个“控件视图”和一个位于其下方的表格视图,为什么我无法使用将按钮按下时将表格视图扩展为涵盖“视图”的逻辑然后再按一次还原。 该表将覆盖“控件视图”,但是再次按下时,不会“还原”该表到“控件视图”下方 ...
我通常使用NSLayoutAnchor,但很多时候建议不要使用它。 除了更复杂/更长的代码外,它是否还存在诸如性能下降之类的问题? 有人告诉我使用: 代替: ...
我正在创建一个UI组件,该组件应在下面显示一个UILabel和一个UISearchBar 。 但是,我无法对齐它们, UISearchBar总是在左右两侧都有额外的空间(红色突出显示)。 我试图通过布局锚直接设置searchBarTextField的尺寸,但是没有用。 我更愿意 ...
当我想在UIScrollView设置子视图的顶部锚点时,必须给它们恒定的高度,否则scrollView不会滚动。 但是随着数量的增加,感觉就像一团糟。 例如,如果我将第二topAnchor视图的topAnchor为第一topAnchor视图的bottomAnchor ,它将不会滚动。 ...
对于这样的视图,我的控制器中有这个约束: 现在我在willLayoutSubviews添加了这个约束以在设备旋转时更新它。 但它似乎没有更新,更像是增加了另一个宽度约束,这当然与旧的宽度约束冲突。 现在我真的不知道更新此宽度约束的正确解决方案,但在我看来,我需要先删除约束,然后再重新设置。 ...
当我尝试创建布局约束时,我阅读了 NSLayoutAnchor 类。 他们说: 笔记 UIView 不为布局边距属性提供锚属性。 相反,layoutMarginsGuide 属性提供了一个 UILayoutGuide 对象来表示这些边距。 使用指南的锚点属性来创建约束 好的。 但同时我为 ...
我有几个子视图 我试图通过layoutAnchor进行布局。 (这时我将pageControl.bottomAnchor锚定到view.bottomAnchor) 所以它很好用,当我在适当的位置旋转设备pageControl夹时 但是,如果尝试锚定pageContr ...
添加两个NSLayoutDimension对象实际上没有任何意义,但是我试图将容器视图的高度设置为两个具有动态高度的子视图的高度。 这是我要执行的操作的直观表示,其中dynamic view 1和dynamic view 2都具有动态高度,并且容器视图的大小根据两个动态视图的大小而定。 ...