问题标签 [ios-autolayout]
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 - 如何在 UIScrollView 内使用 Autolayout 将 UIImage 视图缩放为正方形
我一直在努力学习自动布局(最后)。我想要一个垂直滚动的 UIScrollView 来保存视图的所有内容。我想将 UIImage 视图固定到滚动视图的顶部并将图像保持为正方形(scaleToFill)。基本上我想这样做(只是我想用自动布局来做):
在保持在屏幕范围内时,我无法让图像保持其纵横比。每当我添加纵横比约束时,imageView 都会增长到 600 点(我认为是 png 的宽度),但我希望它与屏幕一样宽。
我想我正在为 UIImageView 正确设置约束,因为如果我摆脱了 scrollView 而只是将 imageViw 直接放在视图上,那么它似乎会做我想做的事。诀窍是将它放在滚动视图中。
这就是我目前的设置方式:
滚动视图上的 4 个垂直/水平空间约束都设置为常量 0。
ios - 如何在布局子视图后更新约束?
我知道渲染视图按以下顺序执行以下 3 个步骤:
- 更新约束
- 布局视图(这里是我们计算帧的地方)
- 展示
现在我的问题是,如果我修改自定义按钮的高度,并且该按钮与周围的视图有约束,我该如何更新该约束并避免与视图重叠?您可以看到注释行,它们都不起作用。
objective-c - 在设备旋转之前,UITableViewCells 不会在 iOS 8 上显示
我正在使用带有子视图和自动布局的 UITableViewCell 子类,这些子类在 iOS 7.x 中显示良好。
将我的设备升级到 iOS 8 后,在初始加载表格视图后不显示单元格,而仅在旋转设备后显示(任何方向都可以)。当我旋转回原来的方向时,细胞仍然存在。一旦我添加或删除一行或退出并再次进入视图,单元格就会消失,直到设备再次旋转。
如果您需要更多详细信息,请告诉我。
更新:找到了我自己的问题的解决方案:确保在下表视图委托方法中返回一个显式值:
我之前回来tableView.rowHeight
了,这行不通。
ios - Autolayout - 使用 NSLayoutAttributeCenterX 时,乘数使用什么比例?
使用该NSLayoutAttributeCenterX
属性时,乘数 1 会产生与引用视图匹配的中心。增加值将其向左移动,向 0 减小则将其向右移动。
通过使用 2.5、1 和 0.625 的乘数,我已经能够通过反复试验(在超级视图中均匀分布 3 个视图)大致达到我想要的结果。虽然乱七八糟,但我发现 200 位于参考视图的左边缘(也增加了更多,不会移动视图),而 0.5 位于右边缘的中心(向 0 减小确实将视图进一步向左移动) .
所以这是我的问题:
- 这是什么?
- 有没有一个公式可以用来准确地以这种方式放置视图,还是会永远反复试验?
- 他们为什么要这样做?
ios - UITableView 动态单元格高度仅在一些滚动后正确
我有一个使用自动布局在情节提要中定义UITableView
的自定义。UITableViewCell
该单元格有几个 multiline UILabels
。
UITableView
似乎可以正确计算单元格高度,但对于前几个单元格,高度没有在标签之间正确划分。滚动了一下之后,一切都按预期工作(即使是最初不正确的单元格)。
有什么我可能遗漏的东西,导致自动布局在前几次无法完成它的工作吗?
我创建了一个示例项目来演示这种行为。
ios - XCode - 每次重新打开项目时自动布局错误
我使用 XCode“版本 6.0.1 (6A317)”创建了一个项目。我也使用过自动布局和尺寸类。
这个问题似乎很尴尬。每当我重新打开项目时,自动布局约束都会更改为其他内容。
例如 aUIButton
对“宽度、底部、前导和尾随”有约束。一切设置正确。但是现在我关闭项目并重新打开,该按钮的所有布局约束都放错了位置,并警告我按钮放错了。
还有其他人遇到同样的问题吗?请帮忙。谢谢,。
objective-c - iOS 8 CGAffineTransformMakeScale + 自动布局不再工作
似乎有一些与我的问题相关的帖子,但似乎没有任何帮助。使用自动布局时,如何调整 CALayer 的锚点?
我有我的应用程序的缩放预览(作为教程),标准视图(和视图控制器)按比例缩小并显示在另一个视图上。
为此,我使用以下代码:
我还需要这个缩放视图与教程视图控制器对齐。为此,我创建了一个“占位符视图”,我希望我的缩放视图在大小上匹配。
为此,我使用:
这在 iOS 7 中运行良好,但使用 XCode 6 和 iOS 8 构建这似乎中断了。似乎它现在首先设置约束(调整为占位符),然后将其缩小(导致预览太小)。
代码:
ios - 使用图像作为不同 iPhone 的背景调整 UIButton 的大小
假设我有一些最初为 iPhone 5 创建的 UIButton,现在我想正确缩放它们以与 iPhone 6 和 6 plus 一起使用。
http://oi60.tinypic.com/2poec5j.jpg
我将如何使用自动布局来正确缩放和填充带有按钮的 iPhone 6 和 6 Plus 的宽度?(以上图中的 Facebook 注册为例)我假设我必须制作此图像的更大版本?无论如何,我宁愿不要让图像失真。如果是这样,我必须使它们大多少?提前致谢。
ios - 是否可以只为某些视图启用自动布局?
我正在开发一个以编程方式绘制所有视图的遗留代码库。当我开始引入自动布局时,我从一个简单的表视图开始,甚至不需要为这个表视图创建约束。但是,当我在 iPhone 6+ 模拟器中运行该应用程序时,该表视图仍然被放大,当我使用 lldb 时,我<UIWindow: 0x791404e0; frame = (0 0; 320 568)
什至在初始化表视图控制器之前就发现了。
我的问题是 iOS 如何确定 UIWindow 框架大小以及是否需要放大?我是否必须为所有视图启用自动布局才能看到它工作?
ios - 具有自动布局的 iCarousel
我在我的通用应用程序中使用 iCarousel 项目。
我在 xib 文件中创建主界面。
SBFGalleryView 的大小将根据应用程序是在 iPad 还是 iPhone 上运行而调整。因此,我为 iCarousel 的视图添加了约束,以便它调整到 SBFGalleryView 的大小。
然而 iCarouse 的框架从未改变。它始终保持 xib 配置的帧大小。
提前致谢