iOS 如何更改Cell中默认accessoryView的位置

Posted 阿曌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 如何更改Cell中默认accessoryView的位置相关的知识,希望对你有一定的参考价值。

如果你不想自定义Cell,又希望改变accessoryView的位置的话,很简单,在子Cell类中的layoutSubviews方法中去修改accessoryViewframe。(别忘了调用[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事件

iOS UITableView-Cell拖动更改排序

iOS UITableView-Cell拖动更改排序

ios tableview 单选

如何在 iOS 的 UITableView Cell 中为 UIButton 设置标签值?

iOS 7 中的 UITableViewCell separatorInsets