问题标签 [nslayoutanchor]

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.

0 投票
2 回答
200 浏览

ios - 在设备方向上更新 widthAnchor

对于这样的视图,我的控制器中有这个约束:

现在我添加了这个约束willLayoutSubviews来更新它的设备旋转。

但它似乎并没有更新,更像是增加了另一个宽度约束,这当然与旧的宽度约束冲突。

现在我真的不知道更新此宽度约束的正确解决方案,但在我看来,我需要先删除约束,然后再次设置它。

如果我这样测试:

这就像预期的那样工作,只是它当然删除了一些我不想删除的约束......所以也不是解决方案。

0 投票
0 回答
392 浏览

cocoa - Cocoa Autolayout 问题 - 自定义 NSView 中的 NSTextView

我目前正在用 Swift 编写一个 Cocoa 应用程序来练习该语言。我对 AppKit 框架还不太熟悉,但现在我遇到了一个有趣的问题。

它只包含一个 NSWindow 和我的自定义 NSView。使用自动布局,我可以控制 NSView 的大小,具体取决于调整大小的窗口。

基础结构

至于我的自定义视图,我想将我的 NSView 作为一个容器,并且里面有一个 NSTextView。

所以我只想保持 NSTextView 与视图本身的大小相同。我将视图背景着色为红色,以查看其填充是否正确,但这就是发生的情况: https ://www.youtube.com/watch?v=LTQndoGzzEM

textview 的高度有时设置正确,但大多数时候没有。

我使用 UIKit、UIViewController、UIView 和 UITextView 重新创建了完全相同的应用程序,并在 iPhone 上进行了测试(我通过旋转调整了屏幕大小),并且工作正常。

有人知道吗?我与优先事项一起玩,但没有帮助。从 NSView、并发绘制等尝试了几件事,但没有帮助。尝试使用 NSLayoutConstraint 而不是锚点,没有变化。唯一的事情是如果我在自定义 NSView 的 drawRect: 方法中设置 TextView 的框架,但我想做一个更好的解决方案。

或者有没有人有其他想法?macOS Sierra 10.12.6、XCode 9.2

谢谢

0 投票
1 回答
666 浏览

swift - 将子视图布局锚设置为 UIScrollView

当我想在 a 中设置我的子视图的顶部锚点时UIScrollView,我必须给它们一个恒定的高度,否则 scrollView 不会滚动。但随着他们数量的增加,感觉就像一团糟。

例如,如果我将我的 2nd subviews' 设置topAnchor为 first one's bottomAnchor,它将不会滚动。我必须将它们设置为滚动视图的锚点。有没有更好的方法来实现这一点,而无需给出常数并自己计算距离?

这是我的滚动视图:

我使用以下变量来获得子视图之间的垂直间距

最后,我让我的子视图锚定在这样的 for 循环中:

0 投票
1 回答
944 浏览

ios - 删除 UISearchBar 左右两边的空格

我正在创建一个应该在下面显示 aUILabel和 a的 UI 组件UISearchBar

但是,我无法对齐它们,UISearchBar左侧和右侧总是有额外的空间(突出显示的红色)。

我试图直接设置searchBarTextField布局锚点的尺寸,但它没有用。

如果可能,我更愿意使用布局锚点。

SearchBar.m

左边和右边的空间高亮

UISearchBarTextField嵌入在UIView我无权访问的 a 中。

约束:

约束和视图层次结构

@BenOng 的方法 - 工作正常,但在第一次点击后中断:

窃听

0 投票
1 回答
1301 浏览

swift - 如何将 heightAncor 转换为 CGFloat 类型?

使用动画更改 UITextField 的高度后,作为子视图的渐变层的高度不再与父高度匹配。

我想将类型为heightAncor的视图转换为,因此我可以将 GradientLayer 设置为等于 UITextField 的这可能吗?NSLayoutDimensonsCGFloatframe.size.heightheightAncor

0 投票
0 回答
139 浏览

swift - 巩固 NSLayoutAnchor 的泛型

我想合并NSLayoutDimension NSLayoutXAxisAnchorNSLayoutYAxisAnchor为我的锚创建一个包装器,以避免一长串便利方法

我正在寻找的理想语法是

我似乎能够到达的最接近的是......

但是在这里我有点迷失了……这并没有真正取得多大成就……理想情况下,我想在一个地方获取所有锚点,即扩展equivalent,以便我可以根据相同的查询..

这是可能的NSLayoutAttribute

但是它不适用于泛型,因为我在上面有它们...我知道语法是错误的,并且锚点是UIViews 上的属性,但我不确定如何修复它...

谢谢你的时间

0 投票
1 回答
103 浏览

swift - NSLayoutAnchor 的类型

无论我尝试什么,我都无法让这个变化起作用......我没有得到什么?

似乎没有办法确定锚的类别.. :(

0 投票
3 回答
1458 浏览

ios - 使用 NSLayoutAnchor 不好吗?

我通常使用 NSLayoutAnchor,但很多时候我被建议不要使用它。除了更复杂/更长的代码之外,它是否有任何问题,例如性能下降?

我被告知使用:

代替:

0 投票
3 回答
53 浏览

ios - ios使用约束隐藏视图

为什么如果我有一个带有按钮、“控制视图”和下面的表格视图的简单视图控制器,当按下按钮时,我无法获得将展开表格视图以覆盖“视图”的逻辑工作如果再次按下则恢复。该表格将覆盖“控制视图”,但当第二次按下时,不会“恢复”“控制视图”下方的表格

0 投票
1 回答
61 浏览

swift - UIView.transition 后单元格的结构被破坏

在我的一个控制器中,我将 UICollectionView 与两侧单元格一起使用(单元格的正面有一个按钮,如果用户点击它,单元格应该显示他/她单元格的另一侧)。

所以我在我的单元格中有这个:

两个视图中都有很多元素,为了构建这些元素,我主要使用 Visual Format 约束和锚点。

IE

为了在正面和背面视图之间切换,我使用 UIView.transition:

它就像一个魅力,我根本没有任何自动布局错误。

但是,如果我试图从约束切换firstViewinfoView firstView狂野,反之亦然(我仍然没有任何错误,但我知道这些视图应该看起来如何,而且一团糟)。我尝试self.updateConstraints()在过渡关闭中使用,但它不起作用。

有没有人经历过这样的事情?