objective-c – 使用自定义UITableViewCell的自动布局

objective-c – 使用自定义UITableViewCell的自动布局,第1张

概述如何使用自动布局获取自定义UITableViewCell的内容来移动和调整大小? 为了使问题更加清晰,我已经将我的自定义单元格的contentView指定为浅灰色背景颜色.为了减少这个可能的最小问题,我的自定义单元格只有一个名为ratingImageView的UIImageView显示一些黄色星;在下面的图像中可以看到三个这样的单元格. 我的ratingImageView只有4个约束; (1)wi 如何使用自动布局获取自定义UItableVIEwCell的内容来移动和调整大小?

为了使问题更加清晰,我已经将我的自定义单元格的contentVIEw指定为浅灰色背景颜色.为了减少这个可能的最小问题,我的自定义单元格只有一个名为ratingImageVIEw的UIImageVIEw显示一些黄色星;在下面的图像中可以看到三个这样的单元格.

我的ratingImageVIEw只有4个约束; (1)wIDth = 81,(2)height = 40,(3)将中心Y对齐到超视图,(4)拖尾空间到超视图= 20.当滑动删除时出现标准删除按钮时,我会期望尾随空间超越约束以强制将图像视图向左.但是,从下图中可以看出,

我已经尝试了许多不同的约束组合,并且不能像我所期望的那样使ratingImageVIEw转换.

我遇到这个问题通过一个很好的introductory Storyboard tutorial.我没有任何问题,使这个工作使用好的旧支柱和d簧,但我决定尝试与汽车布局,没有运气.

解决方法 当我为 tutorial打开autolayout时,我遇到了同样的问题.

问题是因为水平空间的限制(20).该约束的优先级默认设置为1000,这意味着高优先级.因此,在显示删除按钮时,imageVIEw正在遵守约束并使其自身保持在不重新定位对应于UItableVIEwCell(在本例中为PlayerCell)内容视图的位置.

在与我的同事合作中,我们找到了解决这个问题的解决方案.添加约束到ratingImageVIEw以编程方式解决了这个问题.如果任何人有一个比这更好的解决方案,请张贴在这里.

>打开你的故事板,选择PlayerCell并扩展其约束.
>选择约束“水平空间(20)”,并在属性检查器中将其优先级设置为任何较低的值.
>在PlayersVIEwController.m文件中,在cellForRowAtIndexPath tableVIEw的委托方法中添加以下代码:

UIImageVIEw * ratingImageVIEw = cell.ratingImageVIEw;NSDictionary * dict = NSDictionaryOfVariableBindings(ratingImageVIEw);[cell.contentVIEw addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@“H:[ratingImageVIEw] |”选项:0指标:nil vIEws:dict]];

总结

以上是内存溢出为你收集整理的objective-c – 使用自定义UITableViewCell的自动布局全部内容,希望文章能够帮你解决objective-c – 使用自定义UITableViewCell的自动布局所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1234961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存