gpt4 book ai didi

ios - 如何消除 UITableView 左侧的边距,而不在右侧创建间隙?

转载 作者:搜寻专家 更新时间:2023-10-31 22:00:43 25 4
gpt4 key购买 nike

我的目标是 iOS 7 和 8,我想消除下面这个 UITableView 中图像左侧出现的边距。如果解决方案简单/优雅,我什至愿意接受仅适用于 iOS 8 的解决方案。 (我只接受 iOS 7 上的利润,因为它已经过时了)。

这是我希望的样子:

我已经通读了许多关于 Stack Overflow (such as this one) 的类似问题,或特定于分组 UITableView 的问题(herehere),但似乎无法让任何问题正常工作。

例如,如果我尝试使用 contentInset 解决问题(SO 上的常见答案):

- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];

self.tableView.contentInset = UIEdgeInsetsMake(self.tableView.contentInset.top, -16, self.tableView.contentInset.bottom, self.tableView.contentInset.right);
self.tableView.separatorInset = UIEdgeInsetsMake(0, 33, 0, 0);
}

然后我在 tableview 的右侧找到了空白:

我明白为什么会发生这种情况,整个 TableView 都被转移了,如“调试 View 层次结构”屏幕中所示:

但是,我已经尝试调整 tableView 框架大小来补偿,但它似乎永远无法正常工作。另外这看起来很老套;一定有更好的方法。

作为记录,这是我的 cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// get a cell that we can use]
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"VideoCell" forIndexPath:indexPath];

cell.textLabel.numberOfLines = 0;

cell.selectedBackgroundView = selectionColor;

cell.accessoryView = [[UIImageView alloc] initWithImage:[PTStyleKit imageOfArrow]];

// Create the attributed string (text + attributes)
NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:[videos objectAtIndex:indexPath.row] attributes:attributes];

// Set it in our UILabel and we are done!
[cell.textLabel setAttributedText:attributedText];

NSString* filename = [filenames objectAtIndex:indexPath.row];
if (filename == nil)
{
filename = cell.textLabel.text;
}

UIImage *imageOne = [UIImage imageNamed:[NSString stringWithFormat:@"medium-%@", filename]];
cell.imageView.image = [UIImage imageWithCGImage:imageOne.CGImage scale:imageOne.size.height/44 orientation:imageOne.imageOrientation];

return cell;
}

最佳答案

为您的 TableView 设置清晰的背景并设置contentInset 属性。

代码:

tableView.contentInset = UIEdgeInsetsMake(0, -15, 0, 0);
tableView.backgroundColor = [UIColor clearColor];

但通过设置框架将表格 View 的宽度增加 15 像素。

关于ios - 如何消除 UITableView 左侧的边距,而不在右侧创建间隙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27937855/

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