美文网首页
自动布局之AutoResizing

自动布局之AutoResizing

作者: 薛定谔的汪汪 | 来源:发表于2018-12-24 12:47 被阅读0次
xib方式

上侧实线:表示【子控件】距离【父控件】上侧间距固定;
下侧实线:表示【子控件】距离【父控件】下侧间距固定;
左侧实线:表示【子控件】距离【父控件】左侧间距固定;
右侧实线:表示【子控件】距离【父控件】右侧间距固定;
内部水平实线:表示【子控件】随【父控件】宽度的变化而变化;
内部竖直实线:表示【子控件】随【父控件】高度的变化而变化;

代码布局方式
typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
    UIViewAutoresizingNone                 = 0,
    UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
    UIViewAutoresizingFlexibleWidth        = 1 << 1,
    UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
    UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
    UIViewAutoresizingFlexibleHeight       = 1 << 4,
    UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
//要求:子控件占据父控件左上角,并且高度固定;
UIView *redView = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 200, 30)];
redView.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth;
//“左上角”即【子控件】距【父控件】左侧、顶部间距固定,那就意味着【只有】右侧间距、下侧间距是灵活的(flexible);高度固定意味着宽度灵活;

总结:
(1)代码对控件的约束与xib方式对控件的约束是“相反的”;
(2)AutoResizing布局的局限性:仅能解决父子控件间的相对布局问题,不能解决兄弟控件间的相对布局问题;使用前提:关闭AutoLayout适配方式。
(3)AutoLayout:可以解决任意两个控件的相对布局问题。

预览功能(1)
预览功能(2) 预览功能(3)

相关文章

网友评论

      本文标题:自动布局之AutoResizing

      本文链接:https://www.haomeiwen.com/subject/lznakqtx.html