默认情况下,UITalbeViewCellAccessory的位置位于右侧单元格的中间位置。我想在Y轴上移动29个像素(向下移动29个像素)。我怎样才能做到这一点?我尝试设置accessoryView的框架但是没有用。
谢谢,
答案 0 :(得分:1)
UIImageView的一个技巧作为accessoryView(略有修改,可能包含拼写错误):
cell.accessoryView = ({UIImageView * imgV = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"image.png"]];
CGRect frame = imgV.frame;
frame.size.width = frame.size.width + 10; //Push left by 10
imgV.frame = frame;
[imgV setContentMode:UIViewContentModeLeft];
imgV; });
答案 1 :(得分:1)
设置accessoryView初始帧是无效的,只要单元格进行布局就会更改,您需要:
- (void)layoutSubviews
{
[super layoutSubviews];
self.accessoryView.center = CGPointMake($yourX, $yourY);
}
这是为附件视图设置自定义位置的简单方法,在任何单元格状态下保持
答案 2 :(得分:0)
您无法移动默认UITableViewCellAccessoryType
。您只需要向单元格添加自定义视图:
[cell.contentView addSubview:aView];
答案 3 :(得分:0)
默认UITableViewCell
accessoryView
属性使用UITableViewCell
和UITableView
框架属性中的值进行硬编码比例
(类似于UITableViewCell.accessoryView.frame.x = UITableView.frame.width - *30, and UITableViewCell.accessoryView.frame.y = UITableViewCell.frame.height / 2 - *10)
(*由我粗略估算值)
例如,如果您要降低UITableView.frame.width
值,accessoryView
"绝对值" x位置向左移动,同样,你可以调整"绝对值"通过操纵UITableViewCell
高度值来定位y位置,并且可能,您可以级联2 UITableViewCell
并将内部一帧高度设置为大于其父级,以便附件视图的位置(位于内部UITableViewCell
高度的一半左右)得到一个较低的绝对值#34; y位置值。
不是一个漂亮的解决方案,但这是没有自定义附件视图的单向方式。
答案 4 :(得分:-3)
为此,您必须选择custom accessory view
...因为更简单的方法来更改UITableViewCellAccessory
的位置以及自定义附件视图,请查看 Custom Accessory View For UITableView in iPhone < /强>
现在可以随意设置配件。
祝你好运!