gpt4 book ai didi

ios - UITableViewCell可拉伸(stretch)backgroundView

转载 作者:行者123 更新时间:2023-11-29 03:53:18 64 4
gpt4 key购买 nike

我有一个带有可变高度单元格的UITableView。我不想使用背景图像,而是想设置一个具有我想要的样式的 backgroundView 。目前,我不知道如何根据单元格的高度动态更改 backgroundView 的高度。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 300, 60)];
view.backgroundColor = [UIColor whiteColor];
view.layer.cornerRadius = 2.0;
view.layer.shadowColor = [UIColor blackColor].CGColor;
view.layer.shadowOffset = CGSizeMake(0, 1);
view.layer.shadowRadius = 0.4;
view.layer.shadowOpacity = 0.2;
[cell.contentView addSubview:view];
[cell.contentView sendSubviewToBack:view];

}

ZSSLog *log = [self.items objectAtIndex:indexPath.row];
cell.textLabel.text = log.logText;
cell.textLabel.numberOfLines = 0;
cell.textLabel.font = [UIFont fontWithName:@"HelveticaNeue-Light" size:15.0];
cell.textLabel.textColor = [UIColor grayColor];

return cell;
}

现在背景 View 只是重叠,因为它们没有调整大小:

enter image description here

这可能吗?

最佳答案

您可能想要执行类似的操作,而不是设置背景 View 的框架

UIView *view = [[UIView alloc] initWithFrame:cell.contentView.bounds];
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

此答案假设您没有使用自动布局,因为您正在设置背景 View 的框架。如果您使用自动布局,则根本不想设置框架,而是在背景 View 上设置约束。

关于ios - UITableViewCell可拉伸(stretch)backgroundView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16818510/

64 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com