9

其他人注意到 iOS 7 对自定义附件视图的布局与内置附件类型不同吗?

像这样:

在此处输入图像描述

顶部是使用:

cell.accessoryView = cell.accessoryButton;

(其中 accessoryButton 是一个自定义的 UIButton),而第二个是使用:

cell.accessoryView = nil;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

相同的代码,相同的应用程序,相同的 Xcode,但在 iOS 6 上运行:

在此处输入图像描述

这是 SDK 中的错误吗?或者我可以通过代码控制的东西?

4

2 回答 2

23

如果你是子类,UITableViewCell你可以调整它layoutSubviews

- (void)layoutSubviews {
    [super layoutSubviews];

    CGRect accessoryViewFrame = self.accessoryView.frame;
    accessoryViewFrame.origin.x = CGRectGetWidth(self.bounds) - CGRectGetWidth(accessoryViewFrame);
    self.accessoryView.frame = accessoryViewFrame;
}
于 2013-09-26T06:33:09.970 回答
0

添加子视图而不是附件视图

UIButton *indicatorBtn = [UIButton  buttonWithType:UIButtonTypeCustom];
indicatorBtn.frame = CGRectMake(cell.contentView.frame.size.width-55, 2, 50, 50);
[indicatorBtn setBackgroundImage:[UIImage imageNamed:@"right_indicator.png"] 
                     forState:UIControlStateNormal];
indicatorBtn.backgroundColor = [UIColor clearColor];
//indicatorBtn.alpha = 0.5;
indicatorBtn.tag = indexPath.row;
[indicatorBtnaddTarget:self action:@selector(method:) 
    forControlEvents:UIControlEventTouchUpInside];

[cell.contentView addSubview:indicatorBtn];
于 2014-09-18T05:05:10.357 回答