1

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

我已经厌倦CGAffineTransformations了为牢房做一面镜子,但它没有用。即使为in设置子类UITableViewCell和设置框架也没有效果。self.accessoryView.framelayoutSubviews

4

1 回答 1

0

首先,我尝试获取 UITableView Cell 子视图,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 将附件视图本身放在 rightPosition 中。你不能重新定位原点的附件视图UITableViewCell

这是我的研究,如果有人找到方法或者我对此有误,请告诉我。

于 2013-12-16T08:48:15.640 回答