ios - 用autolayout设置相同水平位置上的两个view的问题
怪我咯
怪我咯 2017-04-17 15:49:20
[iOS讨论组]

我在写一个自定义的UITabelViewCell的时候遇到了subview排列的问题。
自定义的cell如下图所示:

我想要的效果是:timeLabel的内容能完全显示,然后titleLabel右边距离timeLabel 10px,titleLabel的宽度根据以上约束自动确定。我的代码如下:

[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[timeLabel]-15-|" options:0 metrics:nil views:views]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[timeLabel(>=40)]-15-|" options:0 metrics:nil views:views]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[timeLabel(<=70)]-15-|" options:0 metrics:nil views:views]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[titleLabel]-10-[timeLabel]" options:NSLayoutFormatAlignAllCenterY metrics:nil views:views]];

但看起来显然不靠谱啊,请问大家该怎样解决,谢谢。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
天蓬老师

没有时间试,但是也许可以试试以下思路
从图上看,水平方向上有图片,标题,时间,其中图片尺寸是固定的,其次优先满足时间内容的尺寸(试试intrinsic size),剩下的标题在去除固定距离后自由变动。
其实可以先在xib上拉个样子出来,搞清顺序再写,否则会吐的

巴扎黑

Content Compression Resistance 和Content Hugging
可以尝试下对应的方法设置这个约束,应该能有想要的效果。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号