问题标签 [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 - 以编程方式使用约束将 UIImageView(视图)从 A 点设置为 B 点
我有一个图像视图,我在屏幕的中央右侧排列。当自己添加带有约束的图像视图时,一切都很好。我需要将图像视图从原始位置(A 点)动画到屏幕的底部(B 点);问题是当我尝试从 A 点到 B 点进行动画处理时,图像视图从屏幕的左上角开始,就像它只是在没有约束的情况下添加的一样(而不是我希望它从中央) 。
这是代码和一些评论:
..
iphone - 自动布局是拉伸图像,自动布局,ios
我以以下方式将 uiimageview 添加到按钮:
- uiimageview 是沿 y 轴的中心(刚刚再次编辑)
- uiimageview 的尾随空间总是距离按钮 10 个点
为此,我正在做以下事情
但是,我得到的是 uiimageview 像下面一样伸展
有没有人对此有任何想法。所有评论都在这里表示赞赏。
ios - NSLayoutConstraint 设置
我正在尝试设置一个面板来显示一些信息。我无法让自动布局按我的意愿工作。
这就是我想要做的事情:
我有一个 headerView、一个 UIImageView 和 5 个标签。我希望标签垂直排列,我希望它们与 UIImageView 有 8 个间距。我可以很容易地将它们垂直排列:
但是让他们在图像视图之外排队被证明是乏味/冗长的:
似乎是一种更好的方法,然后为图像视图的每个标签设置一个约束。我尝试添加NSLayoutFormatAlignAllCenterX
到第一个约束,但它将它们都设置为内容视图的中心 X,不会将标签的中心 X 彼此对齐。NSLayoutFormatAlignAllBaseline 在垂直使用时会出错并崩溃。
我将不得不再次为数据执行此操作(英亩:“价值”)。
ios - UIScrollView 和约束问题
我创建了一个 UIScrollView:
然后在我的 UIViewController 中,我添加滚动视图并给它一个大小:
然后我创建一个自定义 UIView 放置在滚动视图中:
它应该将 subView 放在右上角,但它没有:
.
感觉就像在创建 subView 时,filterListView 的宽度为 0 因为如果 superView 是 768,则 subView 锚点应该是 (383, 20) {superView 的宽度 (768) - subView 的宽度 (365) - padding(20) }。
这让我很沮丧,它应该工作。UIScrollViews 对约束的行为是否不同?
编辑:
是的,UIScrollView 以不同的方式处理约束;我将滚动视图更改为 UIView 并按其应有的方式工作。
objective-c - UIView 元素布局约束
我对 iOS 开发相当陌生,但已经到了想创建自己的复合 UIView 作为自定义 UIButton 的地步。我想按如下方式布局 UILabel 和 2x UIImageViews;
但我还想以这样一种方式锚定控件(子视图),即随着标签的扩展,由于翻译说,视图会自动处理额外的空间。例如;
理想情况下——
- 右侧的 UIView 锚定在右侧;并保持固定的宽度/高度(右对齐)。
- 标签和底部图像划分剩余的左侧空间
- 标签在上部剩余空间的上半部分垂直居中
- 底部图像在下部剩余空间中保持居中(垂直和水平)
- 如果标签比底部图像宽,则视图应展开
如果需要,我很乐意用纯代码构建它。我在上面的图片中使用了 XIB 来处理属性并可视化我的问题。
我来自 C#/XAML 背景,所以我通常会使用带有固定/自动/* 列和行的网格布局,但我猜我需要在这里使用 NSLayoutConstraints 之类的东西 - 不幸的是,我不知道从哪里开始或如何寻找解决方案。任何帮助表示赞赏!
xcode - 如何创建一个基于约束的视图,在 iPhone 5 和 iPhone 4 之间调整大小,与锚操作相当?
那种经典的 Springs 和 Struts,又名“Anchor and Align”或“Autosizing Masks”是我理解的唯一一种调整大小管理。然而,在 XCode 4.6 中,使用 iOS 6 中引入的约束的“自动布局”是默认设置,它使某些简单的事情变得更难,同时让整个世界的新安排成为可能,一旦你学会了如何。 (需要明确的是,一些用户可能只关心在不与自动布局战斗的情况下获得一个简单的视图,因此马特早期提出了一种解决方法,即关闭自动布局,如下所示)
iOS 6 Layout Constraints,Interface Builder系统的编辑约束,我不懂。
XCode Interface Builder 会自动创建约束(例如在视图的边缘),它似乎以我理解的方式运行。
我不明白为什么在此处显示的 .xib 中以及在此处可用,为什么我不能让绿色和洋红色区域保持不变的边界(它们之间的白色区域)不会变厚也不会变薄,无论视图大小发生什么变化。
这意味着我需要绿色区域不要垂直调整大小而只调整水平大小,但它坚持将自己锚定到表单的底部,虽然再次从新的空白笔尖开始,但会恢复界面构建器,因此它会注意到相邻的再次绿色和洋红色视图,一旦界面构建器变得“愚蠢”,它坚持只根据其与父视图底部边缘的距离定义绿色视图的底部边缘,并且不会(对于任何数量的摆弄)否则使用仅仅是拖放操作。我还尝试了 Pin 命令,但没有找到有效的 pin 命令。
与界面构建器菜单或拖放进行任何斗争似乎都不足以让它摆脱其中一个限制。我不知道我应该做什么。删除约束?如何?据我所知,无论是从 IB Objects 窗格还是从 Utilities -> Size 检查器,都无法删除约束。有一个删除选项,但是当您单击约束区域中的“齿轮”图标按钮时,它在出现的下拉菜单中显示为灰色。
理想情况下,如果绿色区域随着视图变宽而调整大小,而不是随着它变高或变短,我会喜欢它。我认为这在其他所有工具中都很明显,但在 XCode+Autolayout 中,它要么根本不调整大小,要么在所有四个方向上调整大小。我无法删除或移除正在做我不想做的事情的约束。您是否必须对另一个视图内的每个视图有四个约束?
(更新 1:您不能删除任何会导致不明确或未指定布局的约束。)
(更新 2:有时如果 uiview 窗格不会对齐到同级,删除该 uiview 并再次尝试将允许它自然地“对齐”到同级,并且约束将相对于同级视图对象而不是父母。)
(更新 3:Matt 删除了他的解决方法,我在下面复制了它。)
对于那些一开始就不想使用 Autolayout 而只想要旧弹簧和支柱的人的解决方法:
第 1 步:关闭自动布局:
第 2 步:选择正确的自动调整大小蒙版:
ios - Interface Builder 中的“宽度等于高度”约束
我找不到创建“方形”约束的方法,这意味着在 Interface Builder 中“宽度等于高度”。我想有可能以编程方式添加这样的约束。IB有什么我可以做的吗?也许我只是没看到?这似乎微不足道,但我找不到它。
ios - 如何以编程方式更改和动画 NSLayoutConstraints?
我正在以编程方式通过 NSLayout 约束定义一个复杂的布局。现在我发现自己需要为其中一个元素设置动画。
我需要动画视图 crossFadeControlView 改变它的高度。这显然意味着另一个需要动态收缩。那可能吗?
如果不是……我有什么选择?
以下是我的限制条件:
cocoa-touch - 在具有自动布局的 UITableView 前面显示一个视图
以下是我为我的视图设置的内容。有一个mask
(UIView)bottom space to superview
为 0。
当我在模拟器(iphone-retina 4)或设备(iphone 5)上显示时,面具正在消失。但是,模拟器(iphone或iphone 3.5)或设备(iphone4)没有问题
'bottom space to superview = 0'不应该让面具离开屏幕吗?
iphone - 将 NSLayoutConstraints 应用于 UIView 子类
我之前尝试过在 IB 中使用 AutoLayout 约束,我了解它们是如何工作的,并且它们需要明确等...
但是,当您有多个视图时,它会变得有点复杂并且容易中断。
所以,我刚刚阅读了一篇关于一个人有同样问题并使用 ASCII 代码来创建约束的博客。
我有一个带有自定义 UITableViewCell 的 UITableView,它具有基于内容量的动态大小。自动布局的完美候选者。
所以,我尝试了几种方法,现在我已经减少了内容,以便单元格中只有一个标签。
如果标签用边框填充单元格,我想要什么。
即标准尺寸从单元格的每个边缘指向。
我已经这样做了......
但是当显示单元格时,标签位于左上角,就像我用来初始化它的 CGRect 一样,我得到了关于约束的大量错误......
而且我不知道从哪里开始调试它。约束绝对是最小的,但仍然完全失败。
有人能指出我如何让这个约束发挥作用的正确方向吗?