问题标签 [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.
uitableview - 在iOS6中使用NSLayoutConstraints做一个UITableView的页脚,贴到最后一段的底部,贴到UIScrollView的底部?
在 Interface Builder 中,当使用UITableViewController
我添加了一个空白视图的表页脚视图时,似乎不可能直接向它添加约束。
当我选择表的页脚视图,然后选择一个约束时,所有的约束都是灰色的。这是一个错误还是(更有可能)我错误地假设您不能将表格页脚视图限制为UIScrollView
- - - 编辑 - - -
另外,我尝试在代码中添加它...
但我只是在输出中得到这个:
ios - 自动布局以保持视图大小成比例
我正在努力实现以下目标:
- 我的 xib 中有 2 个视图需要保持 20 像素的边缘(两侧和顶部)
- 需要调整大小的 2 个视图大小不同
- 它们必须相距 20 像素
- 它们的宽度需要保持相对于父视图的宽度
我阅读了一个关于这样做的教程并且它有效,但它的问题是它要求两个视图具有相同的宽度和 pin Widths equally
,这是我不想要的。
这是我尝试过的:
- 向左视图添加前导空间约束为 20 像素
- 向左视图添加顶部空间约束为 20 像素
- 将顶部空间约束添加到右视图为 20 像素
- 为右视图添加拖尾空间约束为 20 像素
- 向两个视图添加水平间距约束为 20 像素
我遇到的问题是左视图没有调整大小,而右视图填充了空间以保持 20 像素的水平空间。
有没有办法让两个视图按比例调整它们应该填充的空间?
这是我的布局和约束的屏幕截图:
谢谢!
编辑
尝试旋转设备时收到以下警告:
objective-c - NSLayoutConstraints 和动态设置视图的宽度/高度
我有一个关于设置我正在应用一些布局约束的视图大小的问题。
如何在不定义框架的情况下定义视图的大小?
我正在尝试创建一个高度固定且原点位于屏幕原点的视图。它填充视图的宽度,因此当设备旋转时,视图会延伸到屏幕的宽度。这就是我到目前为止所得到的......
问题是我无法在屏幕上显示任何内容,除非我设置了那个containerView
. 不使用 Interface Builder 的正确方法是什么?
objective-c - 如何根据使用 Autolayout 布局的子视图的大小调整父视图的大小
我正在准备一个与屏幕截图中显示的示例类似的自定义视图。我在运行时添加所有用户界面组件(标签、文本字段、单选按钮……)。要定位元素,我使用Autolayout约束。到目前为止,这部分工作正常。
元素的数量因上下文而异。我想知道如何使用 Autolayout 约束来动态调整父视图的大小(很可能是视图的高度)。因此,视图约束应该考虑为当前附加的子视图定义的高度和边距。
iphone - iOS 5 上的应用程序崩溃 - 无法实例化名为 NSLayoutConstraint 的类
我的应用程序在 iOS 6 的 iPhone 和模拟器上运行良好,但是当我尝试在 iOS 5 的 iPhone/模拟器上运行时,应用程序崩溃
错误是:
由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“无法实例化名为 NSLayoutConstraint 的类”
我没有在 Interface Builder Document 上使用 Autolayout。
有人可以帮我吗?
未选中自动布局
ios - iOS:如何为新的自动布局约束(高度)设置动画
我以前从未使用过自动布局约束。我有一个正在开发的小型新应用程序,并注意到 NIB 的视图默认为自动布局。所以,我想我会借此机会与它合作,并试图弄清楚苹果公司的发展方向。
第一个挑战:
我需要调整 MKMapView 的大小,并且想将其动画到新位置。如果我按照我习惯的方式这样做:
[myUISegmentedControl setTitle:newTitle forSegmentAtIndex:0]
...然后,只要兄弟视图更新(在我的情况下,UISegmentedControl 的标题正在更新),MKMapView 就会“捕捉”回其原始高度。
所以,我想我想做的是将 MKMapView 的约束从等于父视图的高度更改为相对于它所覆盖的 UISegmentedControl 的顶部:V:[MKMapView]-(16)-[UISegmentedControl]
我想要的是缩短 MKMapView 的高度,以便显示地图视图下方的一些控件。为此,我认为我需要将约束从固定的全尺寸视图更改为底部被约束到 UISegmentedControl 顶部的约束......并且我希望它在视图缩小到新尺寸时进行动画处理。
怎么办?
编辑 -虽然视图的底部确实立即向上移动了 170,但此动画没有动画:
并且nibMapViewConstraint
在 IB 中连接到底部垂直空间约束。
ios - 我将如何使用受 ASCI 艺术启发的形式指定这个简单的居中 NSLayoutConstraint?
我有一个简单的约束,我更愿意使用受 Asci-art 启发的格式来指定它,但是我似乎找不到这样的例子。
我尝试了一些东西,例如'|-[childView]-|' 但这只会迫使它在其父级左侧的 X 点。
iphone - 以编程方式在子类 UIView 的子视图上自动布局
我将 UIView 子类化为自定义 groupView,我用它以简单的方式向我的布局添加一些东西。这个 groupView 包括一个用作标题的 UILabel 和一个在它的 CALayer 上绘制一个带有背景颜色的 roundRect 的 UIView。想想 UITableView 的部分。我通过删除 UIView 并将其类更改为我的子类来将此 groupView 添加到情节提要。一切正常,我通过 Xcode 中用户定义的运行时属性设置标题。一切都很好,我在故事板上的这个视图中添加了 UILabels,它在运行时创建了标题标签和圆形矩形。
我的 groupView 的结构:
- groupView: (UIView)clipToBounds:NO;
- 标题:(UILabel)位于 groupView 上方。
- contentView:(UIView) 通过CALayer 创建roundRect 和颜色,应该和groupView 一样大小。
所以有什么问题?好吧,开始处理自动布局是一件很痛苦的事情,但是为了让这个子类 UIView 工作,我需要以编程方式设置 contentView 约束。我无法弄清楚这个自动布局 ASCII 格式字符串的语法。目前我有:
哪个崩溃:*由于未捕获的异常“NSGenericException”而终止应用程序,原因:“无法在视图上安装约束。约束是否引用了视图子树之外的内容?那是违法的。约束:视图:>'
我先尝试了这个,它仍然没有工作:
哪个崩溃:*由于未捕获的异常“NSGenericException”而终止应用程序,原因:“无法在视图上安装约束。约束是否引用了视图子树之外的内容?那是违法的。约束:视图:>'
RANT:不知何故,这个 AutoLayout 应该可以节省我们的工作量,但我不明白现在的好处是如何超过开销的。他们到底为什么要从使用引用和方法甚至类型定义转移到这种古老的格式字符串?做起来容易多少:[_contentView 约束:NSLayoutFormatAlignLeading toView:self withDistance:0.0f]; 或者类似的东西?在这一点上,我更愿意处理弹簧和支柱。
任何帮助理解或向我展示将 contentView 限制为 self 大小的语法都会有所帮助。
cocoa - 使 NSView 具有适合内容的固定宽度和可变高度
我想创建一个宽度固定但高度可变的视图。这意味着视图应根据其内容高度自动调整大小,但同时应保持相同的宽度。
我怎样才能以编程方式实现这一目标?
例如,我有下一段代码来创建标签和按钮:
它们被设置为填充整个contentView
框架。如何设置 mylabel
具有固定宽度和可变高度(基于自身的文本内容),并将 mybutton
附加到底部label
?
好的,我已经设法label
像这样自动调整大小:
nslayoutconstraint - 在 awakeFromNib 中似乎没有设置框架视图
我在我的视图控制器中使用自动布局来对齐 uiview,就好像它是一个导航栏(对齐到顶部,拉伸到尾随和前导边以及 44 高度)。
我已经对这个视图进行了子类化,并且在awakeFromNib
我想向它添加子视图。
但是,当我添加这些子视图(也有对父视图的约束)时,它不起作用。
最初我认为约束编程不正确,但是,在记录视图的框架后,如下所示:
我得到以下输出:
然而,例如,当我登录时,touchesBegan:withEvent:
它会记录正确的帧大小。
有谁知道这可能是什么原因造成的?
我也尝试过设置setTranslatesAutoresizingMaskIntoConstraints:NO
所有涉及的视图。但似乎没有任何效果。
提前致谢!