标签:
本来想把做过的例子复述一遍,奈何时间太有限了。
MVC,这个念叨多遍的设计模式,通过做了一个微博的浏览界面才深有体会。去年刚参加工作,也是做一个类似于此的东西,做了好久。在ViewController中,计算cell的高度,而且计算了两遍,把填充Cell数据的内容也放在了ViewController中。现在想想,真是有点傻!现在开始封装一个方法,在ViewController把数据传给Cell中去。
一开始入行的时候,感觉走了很多弯路。拖控件布局,对于初学者,可能真不是一件好事情。很多里面细节性的东西看不到,以至于成长比较慢。
自定义Cell有两种,一种是拖控件,另一种写代码;拖控件适合cell高度是静态的,写代码适合高度是动态的。
计算文本高度的方法:
1.self.label.text = string;[self.label sizetofit];self.label.frame.size.height;
2.[string boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context]; NS_AVAILABLE_IOS(7_0)这是只有ios7之后才能使用。
继承UITableViewCell类,实现
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self)
{
// 写控件
UILabel *name = [[UILabel alloc] init];
self.lb_name = name;
[self.contentView addSubview:name]; // UITableViewCell默认有个contentView;
}
return self;
}
标签:
原文地址:http://www.cnblogs.com/ylzx/p/4376058.html