本文主要是介绍TableView中画Cell的三种方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、直接在 if(cell == nil){} 中写,不在阐述
二、引入自定义cell,参见橘子皮那本iphone P159页 UITableViewCell自定义子类
三、其中的chatDictionary 、chatArray 分别为全局的字典、可变数组
每个cell都对应一个字典:chatDictionary (放在可变数组chatArray 中),在字典中通过key"view"获得其对应的值(既名字为cell的UIView),在cellForRow方法中add到cell的子试图即可,代码如下:
- (void)viewDidLoad
{
}
- (void) makeTableViewCell
{
[chatArray removeAllObjects];
for (int i = 0; i < [parser.newsList count]; i++)
{
DnsNews *news = [parser.newsList objectAtIndex:i];
UIView *cell = [[UIView alloc] initWithFrame:CGRectZero];
cell.backgroundColor = [UIColor clearColor];
// 标题字体
UIFont *titleFont = [UIFont systemFontOfSize:18];
// 标题
UILabel *titleText = [[UILabel alloc] initWithFrame:CGRectMake(90.0f, 2.0f, 215.0f, 20.0f)];
titleText.backgroundColor = [UIColor clearColor];
titleText.font = titleFont;
titleText.textColor = [UIColor colorWithRed:50/255.f green:152/255.f blue:195/255.f alpha:1.0];
titleText.numberOfLines = 1;
titleText.lineBreakMode = UILineBreakModeCharacter Wrap;
titleText.text = news.title;
[cell addSubview:titleText];
[titleText release];
{
- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell;
NSUInteger row = [indexPath row];
{
}
个人认为这个方法没有很好的使用Cell的重用机制
这篇关于TableView中画Cell的三种方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!