将 UITableViewCell 附件放在顶部
Posted
技术标签:
【中文标题】将 UITableViewCell 附件放在顶部【英文标题】:Keep UITableViewCell accessory on top 【发布时间】:2015-02-01 20:49:31 【问题描述】:我有一个带有附件类型详细信息指示器的 UITableViewCell。当我调整单元格大小时,单元格附件会水平居中。我怎样才能让它保持在顶部,而不是居中?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
customCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellID" forIndexPath:indexPath];
return cell;
如果可能,我更喜欢在故事板中进行,如果没有,我很高兴听到如何以编程方式进行。
【问题讨论】:
【参考方案1】:我的错误,实际上你不能对tableView的默认accessoryView做任何改变,你需要为你的cell创建一个自定义的accessoryView。只需忽略附件类型,因为一旦您创建了自己的附件视图,它就不再重要了。
在 CellForRowAtIndexPath 中尝试此代码
if(!cell.accessoryView)
UIImage *image = [UIImage imageNamed:@"image.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
CGRect frame = CGRectMake(0.0, 0.0, image.size.width, image.size.height);
button.frame = frame;
[button setBackgroundImage:image forState:UIControlStateNormal];
//add target if necessary
[button addTarget:self action:@selector(checkButtonTapped:event:) forControlEvents:UIControlEventTouchUpInside];
//apply customisations
button.backgroundColor = [UIColor clearColor];
cell.accessoryView = button;
【讨论】:
我试过了,但是没有用。我确实有一个自定义单元格,所以也许这就是原因?以上是关于将 UITableViewCell 附件放在顶部的主要内容,如果未能解决你的问题,请参考以下文章
当附件是UITableViewCellAccessoryCheckmark时,如何将文本置于UITableViewCell中
如何将附件视图背景设置为与 UItableViewCell 中的内容视图相同的背景?