can*_*boy 31 iphone objective-c uitableview accessoryview ios
我希望我的配件与正常情况略有不同.可能吗?此代码无效:
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.accessoryView.frame = CGRectMake(5.0, 5.0, 5.0, 5.0);
Run Code Online (Sandbox Code Playgroud)
ric*_*son 27
不,你不能移动配件视图的位置.作为替代方案,您可以添加如下的子视图;
[cell.contentView addSubview:aView];
Run Code Online (Sandbox Code Playgroud)
此外,通过将accessoryView属性设置为等于某个accessoryType值,将忽略该值.
Ale*_*xey 21
有一种方法可以移动默认的accessoryView,但它非常hacky.因此,当新SDK到达时,它可能会停止工作一天.
使用风险由您自己承担(此代码段accessoryView向左移动任意8个像素.将其插入[self positionAccessoryView];所需-(void)layoutSubviews子类的方法内):
- (void)layoutSubviews {
[super layoutSubviews];
[self positionAccessoryView];
}
- (void)positionAccessoryView {
UIView *accessory = nil;
if (self.accessoryView) {
accessory = self.accessoryView;
} else if (self.accessoryType != UITableViewCellAccessoryNone) {
for (UIView *subview in self.subviews) {
if (subview != self.textLabel &&
subview != self.detailTextLabel &&
subview != self.backgroundView &&
subview != self.contentView &&
subview != self.selectedBackgroundView &&
subview != self.imageView &&
[subview isKindOfClass:[UIButton class]]) {
accessory = subview;
break;
}
}
}
CGRect r = accessory.frame;
r.origin.x -= 8;
accessory.frame = r;
}
Run Code Online (Sandbox Code Playgroud)
Jam*_*ang 16
我可以通过在我的自定义单元子类中执行此操作来更改附件视图的框架.
CGRect adjustedFrame = self.accessoryView.frame;
adjustedFrame.origin.x += 10.0f;
self.accessoryView.frame = adjustedFrame;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44063 次 |
| 最近记录: |