在我的应用程序中,我在UITableView中显示待售商品列表。如果用户没有设置项目的描述,我想调整单元格中某些元素的位置以调整空白标签。
我的cellForRowAtIndexPath
中的以下代码无效。
cell.productName.text = product.fields[@"title"];
cell.productPrice.text = product.fields[@"price"];
cell.productDescription.text = vehicle.fields[@"salespersonComments"];
if ([cell.productDescription.text isEqualToString:@""]) {
CGRect f = cell.favoriteButton.frame;
f.origin.y = 10; // new y
cell.favoriteButton.frame = f;
} else {
}
答案 0 :(得分:0)
//You have to use the UITableView delegate methods
//Method for displaying the cell
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:MyIdentifier];
}
}
//Method for adjusting the cell height
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 80;
}
答案 1 :(得分:-1)
最好将IBOutlets
连接到相关的NSLayoutConstraint
,而不是实际更改项目的协调/框架。
然后你可以这样做:
if ([cell.productDescription.text isEqualToString:@""]) {
cell.favoriteButtonWidthConstraint.constant = 0;
cell.leadingIndentConstraint.constant = 0;
} else {
}