问题标签 [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.

0 投票
1 回答
1490 浏览

ios - 如何在 UIScrollView 内使用 Autolayout 将 UIImage 视图缩放为正方形

我一直在努力学习自动布局(最后)。我想要一个垂直滚动的 UIScrollView 来保存视图的所有内容。我想将 UIImage 视图固定到滚动视图的顶部并将图像保持为正方形(scaleToFill)。基本上我想这样做(只是我想用自动布局来做):

在此处输入图像描述

在保持在屏幕范围内时,我无法让图像保持其纵横比。每当我添加纵横比约束时,imageView 都会增长到 600 点(我认为是 png 的宽度),但我希望它与屏幕一样宽。

我想我正在为 UIImageView 正确设置约束,因为如果我摆脱了 scrollView 而只是将 imageViw 直接放在视图上,那么它似乎会做我想做的事。诀窍是将它放在滚动视图中。

这就是我目前的设置方式:

在此处输入图像描述

滚动视图上的 4 个垂直/水平空间约束都设置为常量 0。

0 投票
1 回答
3160 浏览

ios - 如何在布局子视图后更新约束?

我知道渲染视图按以下顺序执行以下 3 个步骤:

  1. 更新约束
  2. 布局视图(这里是我们计算帧的地方)
  3. 展示

现在我的问题是,如果我修改自定义按钮的高度,并且该按钮与周围的视图有约束,我该如何更新该约束并避免与视图重叠?您可以看到注释行,它们都不起作用。

0 投票
0 回答
116 浏览

objective-c - 在设备旋转之前,UITableViewCells 不会在 iOS 8 上显示

我正在使用带有子视图和自动布局的 UITableViewCell 子类,这些子类在 iOS 7.x 中显示良好。

将我的设备升级到 iOS 8 后,在初始加载表格视图后不显示单元格,而仅在旋转设备后显示(任何方向都可以)。当我旋转回原来的方向时,细胞仍然存在。一旦我添加或删除一行或退出并再次进入视图,单元格就会消失,直到设备再次旋转。

如果您需要更多详细信息,请告诉我。

更新:找到了我自己的问题的解决方案:确保在下表视图委托方法中返回一个显式值:

我之前回来tableView.rowHeight了,这行不通。

0 投票
2 回答
925 浏览

ios - Autolayout - 使用 NSLayoutAttributeCenterX 时,乘数使用什么比例?

使用该NSLayoutAttributeCenterX属性时,乘数 1 会产生与引用视图匹配的中心。增加值将其向左移动,向 0 减小则将其向右移动。

通过使用 2.5、1 和 0.625 的乘数,我已经能够通过反复试验(在超级视图中均匀分布 3 个视图)大致达到我想要的结果。虽然乱七八糟,但我发现 200 位于参考视图的左边缘(也增加了更多,不会移动视图),而 0.5 位于右边缘的中心(向 0 减小确实将视图进一步向左移动) .

用于可视化的快速白板

所以这是我的问题:

  1. 这是什么?
  2. 有没有一个公式可以用来准确地以这种方式放置视图,还是会永远反复试验?
  3. 他们为什么要这样做?
0 投票
29 回答
70164 浏览

ios - UITableView 动态单元格高度仅在一些滚动后正确

我有一个使用自动布局在情节提要中定义UITableView的自定义。UITableViewCell该单元格有几个 multiline UILabels

UITableView似乎可以正确计算单元格高度,但对于前几个单元格,高度没有在标签之间正确划分。滚动了一下之后,一切都按预期工作(即使是最初不正确的单元格)。

有什么我可能遗漏的东西,导致自动布局在前几次无法完成它的工作吗?

我创建了一个示例项目来演示这种行为。

示例项目:首次加载时来自示例项目的顶部视图。 示例项目:向下和向上滚动后的相同单元格。

0 投票
0 回答
349 浏览

ios - XCode - 每次重新打开项目时自动布局错误

我使用 XCode“版本 6.0.1 (6A317)”创建了一个项目。我也使用过自动布局和尺寸类。

这个问题似乎很尴尬。每当我重新打开项目时,自动布局约束都会更改为其他内容。

例如 aUIButton对“宽度、底部、前导和尾随”有约束。一切设置正确。但是现在我关闭项目并重新打开,该按钮的所有布局约束都放错了位置,并警告我按钮放错了。

还有其他人遇到同样的问题吗?请帮忙。谢谢,。

0 投票
1 回答
2173 浏览

objective-c - iOS 8 CGAffineTransformMakeScale + 自动布局不再工作

似乎有一些与我的问题相关的帖子,但似乎没有任何帮助。使用自动布局时,如何调整 CALayer 的锚点?

我有我的应用程序的缩放预览(作为教程),标准视图(和视图控制器)按比例缩小并显示在另一个视图上。

为此,我使用以下代码:

我还需要这个缩放视图与教程视图控制器对齐。为此,我创建了一个“占位符视图”,我希望我的缩放视图在大小上匹配。

为此,我使用:

这在 iOS 7 中运行良好,但使用 XCode 6 和 iOS 8 构建这似乎中断了。似乎它现在首先设置约束(调整为占位符),然后将其缩小(导致预览太小)。

代码:

0 投票
2 回答
964 浏览

ios - 使用图像作为不同 iPhone 的背景调整 UIButton 的大小

假设我有一些最初为 iPhone 5 创建的 UIButton,现在我想正确缩放它们以与 iPhone 6 和 6 plus 一起使用。

http://oi60.tinypic.com/2poec5j.jpg

我将如何使用自动布局来正确缩放和填充带有按钮的 iPhone 6 和 6 Plus 的宽度?(以上图中的 Facebook 注册为例)我假设我必须制作此图像的更大版本?无论如何,我宁愿不要让图像失真。如果是这样,我必须使它们大多少?提前致谢。

0 投票
1 回答
57 浏览

ios - 是否可以只为某些视图启用自动布局?

我正在开发一个以编程方式绘制所有视图的遗留代码库。当我开始引入自动布局时,我从一个简单的表视图开始,甚至不需要为这个表视图创建约束。但是,当我在 iPhone 6+ 模拟器中运行该应用程序时,该表视图仍然被放大,当我使用 lldb 时,我<UIWindow: 0x791404e0; frame = (0 0; 320 568)什至在初始化表视图控制器之前就发现了。

我的问题是 iOS 如何确定 UIWindow 框架大小以及是否需要放大?我是否必须为所有视图启用自动布局才能看到它工作?

0 投票
1 回答
832 浏览

ios - 具有自动布局的 iCarousel

我在我的通用应用程序中使用 iCarousel 项目。

我在 xib 文件中创建主界面。

在此处输入图像描述

SBFGalleryView 的大小将根据应用程序是在 iPad 还是 iPhone 上运行而调整。因此,我为 iCarousel 的视图添加了约束,以便它调整到 SBFGalleryView 的大小。

然而 iCarouse 的框架从未改变。它始终保持 xib 配置的帧大小。

提前致谢