精选150道iOS面试题

1.UITableview创建方式

(1) 自定义高度

  • 1 新建一个继承自UITableViewCell的类
  • 2 重写initWithStyle:reuseIdentifier:方法
  • 3 添加所有需要显示的子控件(不需要设置子控件的数据和frame, 子控件要添加到 contentView中)
  • 4 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片)
  • 5 供2个模型
    数据模型: 存放文字数据\图片数据
    frame模型: 存放数据模型\所有子控件的frame\cell的高度
  • 6 cell拥有一个frame模型(不要直接拥有数据模型)
  • 7 重写frame模型属性的setter方法: 在这个方法中设置子控件的显示数据和frame

(2) 自定义高度原理

A 手动计算

  • 1 由于heightForRow比cellForRow方法先调用,创建frame模型包含微博模型,重写微博模型
    赋值set方法,ᨀ前计算cell子控件的frame并保存,heightForRow方法中取出frame模型中保存
    的高度,实现自定义高度cell
  • 2 设置最大尺寸、文本属性,根据文本内容计算正文内容展示尺寸
  • 3 cellForRow中创建自定义cell包含frame属性,重写frame属性set方法创建cell子控件并赋
    值frame模型保存的子控件尺寸

B. 自动计算

  • 1 首先设置行高使用autolayout自动计算并预估高度
  • 2 在stroboard中对cell内容进行自动布局,注意设置图片距离底部约束,cellForRow中创建
    storyb
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值