iOS 如何更改Cell中默认accessoryView的位置
Posted 阿曌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 如何更改Cell中默认accessoryView的位置相关的知识,希望对你有一定的参考价值。
如果你不想自定义Cell,又希望改变accessoryView
的位置的话,很简单,在子Cell类中的layoutSubviews
方法中去修改accessoryView
的frame
。(别忘了调用[super layoutSubviews]
)
- (void)layoutSubviews
[super layoutSubviews];
CGRect adjustedFrame = self.accessoryView.frame;
adjustedFrame.origin.x += 10.0f;
self.accessoryView.frame = adjustedFrame;
直接在别的位置修改是没有效果的!~
如果不希望子类化Cell,还有个“作假”的办法,就是把accessoryView里面塞进去的view宽度变大,然后调整对内对齐方式。
static CGFloat const kRightOffset = 10.0;
cell.accessoryView = (UIImageView * imgV = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"image.png"]];
CGRect frame = imgV.frame;
frame.size.width = frame.size.width + kRightOffset;
imgV.frame = frame;
[imgV setContentMode:UIViewContentModeLeft];
imgV; );
该方法是我试验是能够得到效果是往左移,往右移的办不到(估计默认给cell.accessoryView
加了右边的margin
)
References : Can a standard accessory view be in a different position within a uitableviewcell? – Stack Overflow
How to override accessoryView in UITableViewCell to change it’s position – Stack Overflow
以上是关于iOS 如何更改Cell中默认accessoryView的位置的主要内容,如果未能解决你的问题,请参考以下文章
iOS设置UITableView中Cell被默认选中后怎么触发didselect事件