如何根据我的要求设计表格视图单元格

时间:2013-09-05 06:22:16

标签: iphone ios objective-c uitableview

我在phonegap和sencha中开发了一个应用程序。
因为我根据文本为div编写了一个css的css。
但在本机应用程序中,如果文本增加,则标签无法显示全文显示的文本和点。
我想显示全文。我不知道怎么可能。如果有可能请建议我。

2 个答案:

答案 0 :(得分:0)

创建一个单独的类UITableViewCell类,让我们说MyTableCell

然后根据您的需要设计MyTableCell班级的单元格。

现在,您可以使用MyTableCell datasource方法tableView中的-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { MyTableCell *cell = [MyTableCell alloc]init]; cell = [tableView dequeueReusableCellWithIdentifier:@"cellIdentifier"]; // Processing return cell; } 对象实际放置表格

{{1}}

希望这会对您有所帮助

答案 1 :(得分:0)

您需要做的是首先根据字体和大小获取文本的高度,然后返回每个单元格的UITableViewCell的高度。

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

NSString *aMessage;

if ([self.messageArray count] >0) {
    aMessage = [self.messageArray objectAtIndex:indexPath.row];
}

CGSize maximumSize = CGSizeMake(270, 9999);
UIFont *textFont = [UIFont fontWithName:@"Helvetica-Bold" size:MessageFontSize];
CGSize myStringSize = [aMessage sizeWithFont:textFont
                       constrainedToSize:maximumSize
                           lineBreakMode:NSLineBreakByWordWrapping];

return myStringSize.height+10 //to have some extra space b/w cells +10;   
}

然后在UITableViewCell中添加自定义标签。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//

static NSString *CellIdentifier = @"LazyTableCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil){
  cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}    

NSString *aMessage;

if ([self.messageArray count] >0) {
    aMessage = [self.messageArray objectAtIndex:indexPath.row];
}

UILabel *messageTextLabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 10, 270, 0)];
messageTextLabel.backgroundColor = [UIColor clearColor];
messageTextLabel.numberOfLines = 0;
messageTextLabel.lineBreakMode = NSLineBreakByWordWrapping;
messageTextLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:MessageFontSize];
messageTextLabel.text = aMessage;
[messageTextLabel sizeToFit];
[cell addSubview:messageTextLabel];

cell.selectionStyle= UITableViewCellSelectionStyleNone;

return cell;
}