我的问题是如何在UITableViewCell
中调整大文字和固定尺寸的图像。
我需要根据 WhatsApp 等数据将单元格设为autoresize
。我该怎么做。
当我使用UILabel
时,我的单元格正在调整大小,但是在图像的情况下,它会搞砸所有内容。
请建议我。提前谢谢。
@ddb这是我正在使用的源代码。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewAutomaticDimension;
}
-(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewAutomaticDimension;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [adminDataArray count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier=@"admincell";
adminCell =[tableView dequeueReusableCellWithIdentifier:identifier];
if (adminCell==nil) {
adminCell=[[AdminPostTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
adminCell.selectionStyle=UITableViewCellSelectionStyleNone;
[adminCell setBackgroundColor:[UIColor clearColor]];
NSMutableDictionary *getAdminDataDictionary=[adminDataArray objectAtIndex:indexPath.row];
if ([getAdminDataDictionary objectForKey:@"TEXT"])
{
adminCell.lblSenderAdminPage.text=[getAdminDataDictionary objectForKey:@"TEXT"];
adminCell.lblSenderAdminPage.textColor=[UIColor blackColor];
adminCell.lblSenderAdminPage.backgroundColor=[UIColor whiteColor];
adminCell.lblSenderAdminPage.preferredMaxLayoutWidth=305;
adminCell.lblSenderAdminPage.layer.masksToBounds=YES;
adminCell.lblSenderAdminPage.layer.cornerRadius=5;
adminCell.lblSenderAdminPage.layer.borderWidth=1.0f;
adminCell.lblSenderAdminPage.layer.borderColor=[UIColor blackColor].CGColor;
}
else if ([getAdminDataDictionary objectForKey:@"IMAGE"]){
adminCell.imgSenderAdminPage.image=[getAdminDataDictionary objectForKey:@"IMAGE"];
}
return adminCell;
}
答案 0 :(得分:0)
您可以尝试使用
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
CGSize messageSize // Your message size
if (img) {
CGFloat imgHeight = img.size.height; // Image size
return messageSize.height + imgHeight + 2* textMarginVertical;
} else {
return messageSize.height + 2* textMarginVertical;
}
}
在类顶部声明
static CGFloat textMarginVertical = 7f;
快乐编码..