美文网首页
使用Frame进行界面适配

使用Frame进行界面适配

作者: Tinchi_To | 来源:发表于2016-07-22 01:21 被阅读0次

setFrame是最经典的方法,在iOS中没有给UI控件设置frame控件就不能显示,有时的确没有设置frame但就是显示了是因为有某些控件会自动计算和设置frame

首先,最简单的就是直接的使用initWithFrame:进行控件的初始化同时给frame属性赋值。这个方法用起来简便,适合于固定尺寸的简单控件,但是假若UITextField的字数行数不固定,需要从远程加载,这个方法就不好用了。

所以用的最多的还是setFrame方法,配合上计算控件size的方法使用效果更佳。

我个人喜欢使用给控件赋值的同时setFrame的方法,实现的技巧就是新建一个类来保存对应控件的数据模型以及控件frame,重写setModel,给控件赋值的时候同时给控件赋上frame。如果控件里面有子控件,子控件里还有子控件,这种情况也是很常见。举个例子

假设数据模型叫model

view有子控件subview1和subview2

子控件里面还有其他杂七杂八的子控件

这时候需要新建viewFrame、subview1Frame、subview2Frame类

viewFrame中有subview1Frame和subview2Frame成员,每个类中都包含model成员,

这时候重写这三个类的setModel方法,model传给viewFrame时候viewFrame传给两个subviewFrame,subviewFrame中计算并保存子控件大小,然后计算自身对应的subview的大小返回给viewFrame,viewFrame计算view的大小。

最后改写view的setViewFrame,对应subview改写setSubviewFrame方法,给view和subview以及subview里面的控件赋值和setFrame。

相关文章

  • 使用Frame进行界面适配

    setFrame是最经典的方法,在iOS中没有给UI控件设置frame控件就不能显示,有时的确没有设置frame但...

  • Storyboard 中用户界面适配问题

    需求说明UI界面布局通过 Storyboard 实现,要求对界面进行横竖屏的适配; 使用了 Autolayout ...

  • 无标题文章

    IOS 11 Iphone x 适配 1 首先分为自动布局适配以及Frame适配 我们先说说frame适配 a 如...

  • IOS界面布局库

    如果您还在通过代码使用frame进行界面布局,但是对位置计算和屏幕尺寸感到厌烦;如果您在使用AutoLayout进...

  • swift 适配工具类JCMarketManager

    swift 适配工具类JCMarketManager 书写app页面的时候,经常需要使用比例来进行部分特殊场景界面...

  • iOS 屏幕适配发展简史

    iPhone 3GS、iPhone 4 没有屏幕适配可言 全部用frame、bounds、center进行布局 很...

  • IOS适配的总结

    屏幕适配的发展 iPhone3GS\iPhone4 全部用frame、bounds、center进行布局,坐标值、...

  • iOS-获取用xib自定义cell子控件的真实bound

    当我们使用AutoLayout做适配时,可能会有这样的需求,就是在想在适配完成前就取得子控件的真实frame,来做...

  • 代码实现自动布局

    关于 autoresizingMask 方法 在简单的界面适配时使用 autoresizingMask 及其方...

  • UITabView中tableHeaderView和tableF

    tableHeaderView 在使用frame布局完成后使用mansory 来相对布局操作界面时就会出现 错误的...

网友评论

      本文标题:使用Frame进行界面适配

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