如何将单元格的详细信息从默认位置移动到另一个位置?在目标c中不经意地。
答案 0 :(得分:0)
通过覆盖UITableViewCell创建一个自定义单元格,你还没有这样做,并在你的实现文件中提出下面的方法。
-(void)layoutSubviews
{
[super layoutSubviews];
for (UIView *subview in self.subviews) {
if ([NSStringFromClass([subview class]) isEqualToString:@"UIButton"]) {
//Just an example, change the frame by your wish here.
CGRect newFrame = subview.frame;
newFrame.origin.y -= 15;
subview.frame = newFrame;
}
}
}
这种方法可用于编辑TableViewCell的任何默认组件,如公开内容,编辑时的删除按钮等。并且不会弄乱您放入单元格中的视图,因为所有手动添加的视图都是真的在contentView
属性中。
像魅力一样工作,但请记住,更改在视图外无法访问的子视图的状态从来都不是一个好习惯(尽管它不会导致您的应用被拒绝)。
更优雅的解决方案是将UIImageView与您的自定义披露一起使用,并将其放在您想要的位置。
编辑:
在下面的评论和downvote之后我认为指出一些事情很重要:
您放入单元格的所有视图实际上都在UITableViewCell属性“contentView”中。因此,即使您的单元格中有按钮,它们也不会列在上面的enumeratino中,因为它们实际上是contentView的子视图,因此代码仍然有效。
请稍微研究一下UITableViewCellContentView以获取更多细节。
我的观点是,如果您真正想要的话,可以移动默认披露,但我确实说这不是更好的解决方案。
答案 1 :(得分:0)
没有干净且经过批准的移动配件视图的方式,其中包含详细信息披露指示器。有一些“hacky”方式可以移动它,我强烈建议不要这样做。
Here is an answer有一个人的黑客。