iOS 7以不同的方式列出accessoryView和accessoryType?

ran*_*ows 9 uitableview ios ios7

还有其他人注意到iOS 7以不同于内置的配件类型来定制自定义配件吗?

像这样:

在此输入图像描述

最上面的一个是使用:

cell.accessoryView = cell.accessoryButton;
Run Code Online (Sandbox Code Playgroud)

(其中accessoryButton是一个自定义的UIButton),而第二个是使用以下命令完成的:

cell.accessoryView = nil;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

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

小智 23

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

- (void)layoutSubviews {
    [super layoutSubviews];

    CGRect accessoryViewFrame = self.accessoryView.frame;
    accessoryViewFrame.origin.x = CGRectGetWidth(self.bounds) - CGRectGetWidth(accessoryViewFrame);
    self.accessoryView.frame = accessoryViewFrame;
}
Run Code Online (Sandbox Code Playgroud)

  • 不再在iOS 8中工作了?`accessoryViewFrame.size`和`accessoryViewFrame.origin`的所有值都等于0. (3认同)