问题标签 [nslayoutconstraint]
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.
ios - NSLayoutConstraint constraintWithVisualFormat 不能引用 superView
这是一些代码:
为什么它最终看起来像这样?我的 superView 有什么问题吗?
这是我的包含视图的设置方式:
ios - 带有 iOS 自动布局约束的 UIScrollView:子视图的大小错误
我正在尝试在代码中生成视图。这是我的视图对象的层次结构
- UIScrollView
- 界面视图
- 用户界面按钮
- 界面视图
ScrollView 应该与窗口大小相同。按钮应尽可能大。我正在使用 iOS 自动布局,所以我所有对象的约束字符串看起来像这样
我还为每个对象设置translatesAutoresizingMaskIntoConstraints
了。NO
问题是按钮只获得默认的按钮大小。它的父视图对象 (UIView) 仅获得其子视图所需的大小。
红色:UIScrollView / 黄色:UIView
如何强制这些视图与滚动视图一样大?
当我使用 UIView 而不是 UIScrollView 时,一切都很好......
这是一些代码:
更新: 我真的不知道,为什么会这样。如果您在 IB 中设置视图,连接插座并在代码中实例化视图,则滚动视图的行为类似于普通视图(垂直反弹)。它的 contentSize 计算不正确。更多在这里。但是如何正确地做到这一点?
ios - NSLayoutConstraint - 超级视图的动态高度
我在自定义 UITableViewCellself.username, self.postText, self.containerView
中有三个视图:另外两个的超级视图在哪里self.containerView
。我希望它像这样布置:
我在单元格的 init 方法中尝试了以下 NSLayoutConstraint:
它目前在没有任何日志的情况下崩溃。正确的 NSLayoutConstraint 应该如何看?
ios - 自动布局阻止我更改视图的中心
我的应用程序的一个功能是自动裁剪图像。
基本思想是有人会为一张纸拍照(想想:收据),然后在确定纸张的边界后,图像可以自动裁剪。
我可以使用 OpenCV 确定纸张的边界。所以,接下来我要做的是更改每个指南的“中心”属性(只有 2 条水平和 2 条可以手动拖动的垂直“线”)。
然后,在我拨打所有电话以更改 4 个指南中的每一个后不久的某个时间,出现了其他东西并再次设置了“中心”。(我已经覆盖了“setCenter”来证明这一点)。该中心似乎被此重置:[UIView(Geometry) _applyISEngineLayoutValues]。
我不知道为什么会发生这种情况,或者如何阻止它,但它可能与约束有关。我的观点是一个简单的 UIButton。当用户用手指点击并拖动它时,会调用一个动作例程,它只会改变中心。这行得通。
但在另一种情况下,我提出了一个 UIImagePickerController。在他们选择图片后,我确定纸张边界,更改“指南”中心,然后在“_applyISEngineLayoutValues”上将它们全部重新设置。
知道在这种情况下发生了什么吗?或者我如何设置视图的中心,并让它真正保持不变?
ios - 我可以使用 NSLayoutConstraints 来保持 UIView 的子视图等间距,而不管以后添加或删除子视图数组吗?
我想要一个 UIView ,每次我从它的subviews
数组中添加或删除子视图时,无论哪个子视图碰巧在数组中仍然是等距的。
例如,如果我有子视图 a 和 b 间隔 10 个点,如下所示:
[a]-10-[b]
然后添加一个视图 c,其中的视图subviews
现在应该像这样自动布置:
[a]-10-[b]-10-[c]
但是,如果我现在删除视图 b,则 a 和 c 之间的差距应该再次更新为 10 个点:
[a]-10-[c]
我知道我可以使用 NSLayoutConstraint 在两个已知视图之间创建这种类型的约束,我想我也可以设置一个 KVO,每次数组更改时,我都可以循环遍历所有子视图并重新应用约束,但我想知道如果有一种自动的方法。
macos - 如何在 NSScrollView 中设置 NSLayoutConstraint?
我是新手NSLayoutConstraint
。
我想以NSScrollView
编程方式管理内容。最后,我想做的是创建一个NSScrollView
带有方法的子类,该方法- add:(NSView *)aView
将在其他方法之后添加并在必要时aView
扩大。documentView
NSScrollView
(所有这些都适用于 OSX)我猜它存在但找不到它,所以如果有人知道在哪里可以找到它,我就在;)这是一张可以帮助您理解的图片:
我的计划是使用NSLayoutConstraint
s. 约束将是:
view 1
,view 2
等之间的垂直间距相等documentView
高度应适应 , 等的高度view 1
之view 2
和。documentView
在andview 1
和 last之间有一些固定的垂直边距view
。view 1
,view 2
, 等是右对齐的
所以,让我们来回答我的问题:我从添加开始view 1
(我会在后面看到)。我做了以下事情:
theScrollView
是我的NSScrollView
;
/li>newSubview
是我要添加的视图;就图片而言,它是view 1
。
但是,它不起作用,框架theContainer
仍然存在(0,0,0,0)
。
我是新手NSLayoutConstraints
;我错过了什么?
ios - 程序化 NSLayoutConstraint 动画问题
所以我正在尝试为一些布局约束设置动画并且运气不佳,我只是什么也没看到,然后我收到一条错误消息,说明它如何不能同时满足所有约束等。
我正在使用一个名为PullableView的类,它的动画使用旧样式[UIView commitAnimation]
,所以我将它子类化并添加到我的代码中,我认为这将用于动画约束......没有这样的运气并试图对其进行动画处理,甚至让它做很多事情任何事情都被证明是困难的,我只是得到“无法同时满足约束”。问题是我对这个约束业务相当陌生,所以我不知道从哪里开始。
这是错误,另一个几乎相同,但对于centerY。
"<NSLayoutConstraint:0x7c8a3a0 StyledPullableView:0x905a9b0.centerX == UIView:0x9054680.centerX>",
"<NSLayoutConstraint:0x7c6b480 StyledPullableView:0x905a9b0.centerX == UIView:0x9054680.centerX + 128>"
我当然会[pullRightView setTranslatesAutoresizingMaskIntoConstraints:NO];
在调用这个之前
任何帮助表示赞赏。
ios - iOS自动布局:表格视图单元格的动态高度
我有一个带有一堆单元格的表格视图(自定义单元格,只有它的内容视图)。
在tableView:cellForRowAtIndexPath:
我将一个预定义的 UIView(它有几个子视图)添加到自定义单元格的内容视图中。我之前为 UIView 及其子视图设置了所有约束。
最后但同样重要的是,我为我的自定义单元格(超级视图)和之前添加的 UIView(子视图)的内容视图设置了垂直和水平约束。
约束字符串如下所示:
不幸的是,我仍然得到所有表格视图单元格的默认高度。我想知道是否有办法让自动布局根据内容大小自动计算高度。
objective-c - Objective-c 中是否提供字符串版本的变量名?
我正在观看去年关于自动布局的 WWDC,第 228 次会议。有以下代码:
字符串值“previousView”和“view”如何在这里使用?该方法实际上可以从名称中计算出对象吗?
TIA 标志