为什么ConstraintLayout代替其他布局
答案:2 悬赏:0 手机版
解决时间 2021-01-26 15:31
- 提问者网友:树红树绿
- 2021-01-25 18:02
为什么ConstraintLayout代替其他布局
最佳答案
- 五星知识达人网友:低音帝王
- 2021-01-25 19:33
ConstraintLayout约束布局的含义: 根据布局中的其他元素或视图, 确定View在屏幕中的位置. 包含三个重要信息, 根据其他视图设置位置, 根据父容器设置位置, 根据基准线设置位置.
layout_constraint[本源]_[目标]="[目标ID]"
例如:
app:layout_constraintBottom_toBottomOf="@+id/constraintLayout"
约束当前View的底部至目标View的底部, 目标View是constraintLayout. 表明, 把当前View放置到constraintLayout(父容器)的底部, 并且底部一致.
为了演示多个示例, 使用复用的Activity页面. 根据参数设置标题和布局Id.
layout_constraint[本源]_[目标]="[目标ID]"
例如:
app:layout_constraintBottom_toBottomOf="@+id/constraintLayout"
约束当前View的底部至目标View的底部, 目标View是constraintLayout. 表明, 把当前View放置到constraintLayout(父容器)的底部, 并且底部一致.
为了演示多个示例, 使用复用的Activity页面. 根据参数设置标题和布局Id.
全部回答
- 1楼网友:几近狂妄
- 2021-01-25 20:32
uilabel自动换行,在不同的ios版本下表现不一致导致的ui问题
今天解决了一个与uilabel相关的bug。
表现为在ios7以上的系统中,uilabel能够自动换行,多行显示的字符串,而在ios6上面则不会自动换行,直接打省略号。
正常情况下,numberoflines设置为0,uilabel就会自动换行了。
但是在ios6下面需要设置preferredmaxlayoutwidth,autolayout才会判断到折行的位置,才能正确的显示多行的uilabel
但是 preferredmaxlayoutwidth设置为多少才是正确的呢?
如果你知道一个确切的width当然是最好的,那么直接设置即可,
但是如果uilabel的宽度是自适应的,不确定,那么可以使用如下的代码设置
- (void)layoutsubviews
{
[super layoutsubviews];
self.label.preferredmaxlayoutwidth = self.label.bounds.size.width;
}
当label已经显示到界面上的时候,那么宽度就已经确定了,可以直接用此宽度作为最大autolayout宽度设置。这样就正常了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯