ios动态隐藏、显示ui时的自动布局

在项目开发中,有时会碰到需要根据服务器返回的数据,来决定界面上显示的某个控件是否需要隐藏的问题。隐藏后,布局要保持紧凑,这就需要考虑一种策略来更好的处理这种情况。

一种策略是,对每种情况添加一套约束方案,然后在APP运行时,根据数据来动态调整约束的优先级。

实例代码:

-(void)HideSept:(BOOL)isHidden

{

    [self.sept_go_label setHidden:isHidden];

    [self.sept_des_label setHidden:isHidden];

    [self.sept_map_label setHidden:isHidden];

    [self.sep2 setHidden:isHidden];

    self.maplabel_top_constraint.priority= isHidden ?1000:250;

}

示意图:

不隐藏:

参考链接1:https://chengkang.me/2016/03/20/AutoLayout:constraint%20priority%20约束优先级(九宫格续,一个更优方案)

参考链接2:http://www.10tiao.com/html/330/201711/2653579435/2.html

你可能感兴趣的:(ios动态隐藏、显示ui时的自动布局)