相关疑难解决方法(0)

Cocoa Autolayout:内容拥抱与内容压缩阻力优先

关于Cocoa Autolayout关于内容拥抱和抗压缩性之间差异的Apple文档,我找不到明确的答案.

有人可以解释他们的用法和差异吗?

cocoa autolayout

634
推荐指数
7
解决办法
20万
查看次数

自定义UITableViewCell中的多个UILabel

在我正在创建的iOS 8应用程序中,我有一个tableview,我需要它们自我调整大小.我使用自动布局实现它,它的工作原理.几乎.这是它现在的样子.

在此输入图像描述

单元格内有3个标签.主要标签有lorem ipsum文本.带有数字串的字幕(这是两个单独的标签.可能会因为颜色相同而混淆.)然后第三个标签带有小黑色文字.

第一个标签正确调整大小没有问题,第二个标签相应地上下移动.但问题在于第三个小标签.正如您所看到的,它没有调整自身大小以适应所有文本.

现在发生了一件奇怪的事情.我把它转向风景,这就是它.

在此输入图像描述

由于存在空间,标签正在显示其应有的整个文本.精细.然后我把它变回肖像.

在此输入图像描述

现在,小标签已经调整大小以适应其所有文本,但它溢出了单元格边界.我试着把细胞做大,但是没用.由于这是自我调整细胞,我不认为这是正确的方法.

我没有收到任何错误,甚至没有警告我的汽车布局限制.

在此输入图像描述

我在方法中设置了这两行代码viewDidLoad().

tableView.estimatedRowHeight = 100
tableView.rowHeight = UITableViewAutomaticDimension
Run Code Online (Sandbox Code Playgroud)

谁能告诉我这里可能做错了什么?

由于仅仅通过查看图像很难回答,而且我没有更多的代码可以在上面的代码段旁边发布,我上传了一个可运行的Xcode项目,在这里展示了这个问题.(有2个自定义单元格.基本上它是同一个单元格,只是高度在第二个单元格中增加.)

我一直在摆弄汽车布局限制,但我似乎无法让这个工作.任何帮助,将不胜感激.

谢谢.


更新:

在本教程的帮助下,我发现了一些有用的指针.根据它,每个子视图应该具有固定其所有边的约束,并且应该存在从上到下的约束,这有助于自动布局以计算单元的高度.在我的原始帖子中,我在每个标签之间有垂直空间,所以我认为这是自动布局无法计算正确高度的原因.

所以我做了一些改变.

  • 我将标签之间的垂直空间缩小为0,并在顶部和中间标签以及中间和底部标签之间设置垂直空间限制.
  • 我将top,top,trailing约束添加到顶部标签.
  • 领先并落后于中间标签.
  • 领先,底部,尾随标签.

现在这是另一个奇怪的部分.当我第一次运行它时,底部标签裁剪问题仍然存在.

在此输入图像描述

但是,如果我将设备旋转到横向并将其转回肖像,则所有单元格都会正确调整大小以适合两个标签!

在此输入图像描述

仍然无法弄清楚为什么一开始不会发生这种情况.更新的Xcode项目在这里.

uitableview ios autolayout swift ios8

60
推荐指数
3
解决办法
4万
查看次数

两个uilabels uitable与动态高度

我想实现一个英语学习瑞典语的应用雨燕/ IOS那里,我想有两个动态行,数据从阵列快到了,我尽我所能来解决它​​.我见过约.所有堆栈溢出链接也没有成功.看截图,因为文字很长,我在屏幕上看不到它,文字也没有出现在第二行.因为,我添加任何约束,两条线有时消失或只有一条线来.

我也看过这个教程链接,但无法获得任何成功.

查看截图

可以请任何人看到代码并修复它. 这是完整的代码

uitableview uilabel ios swift

0
推荐指数
1
解决办法
246
查看次数

标签 统计

autolayout ×2

ios ×2

swift ×2

uitableview ×2

cocoa ×1

ios8 ×1

uilabel ×1