如何设置UITableViewCell的AccessoryView的框架而不子类化UITableViewCell



每当我尝试设置UITableViewCell's AccssoryView的框架时,它都不会对附件视图的原始框架进行任何更改,但是,我想重新定位默认UITableViewCell的附件视图,而没有任何子类化? 这可能吗?

我已经厌倦了CGAffineTransformations为细胞制作镜子,但它没有用。即使子类化UITableViewCell并在layoutSubviews中设置self.accessoryView.frame框架也没有效果。

首先,我尝试获取UITableView单元格子视图,当cell.accessoryType = UITableViewCellAccessoryCheckmark;和我得到:

<UITableViewCellContentView: 0x1463e500; frame = (0 0; 320 44); gestureRecognizers =      <NSArray: 0x1463e340>; layer = <CALayer: 0x1463e4d0>>,
<UIButton: 0x1463d920; frame = (0 0; 14 14); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x1463ddd0>>

似乎该按钮是UITableViewCell的附件视图,但它的起源是(0,0),所以之后我尝试

for (UIView *view in cell.subviews) {
    if ([view isKindOfClass:[UIButton class]]) {
        view.frame = CGRectMake(20, 0, 14, 14);
    }
}

我得到了

<UIButton: 0x1463d920; frame = (20 0; 14 14); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x1463ddd0>>

但是配件的位置没有改变。.我认为这意味着UITableViewCell将附件视图本身放置在正确的位置,您不能重新定位原UITableViewCell的附件视图。

这是我的研究,如果有人找到一种方法来做到这一点,或者我不知何故错了,告诉我.

最新更新