我希望根据UIViewA
方法的设备获得cellForRowAtIndexPath
的实际宽度,并且'UIViewA'位于自定义UITableViewCell
中。我在UITableViewCell
中使用了AutoLayouts。
我的UIViewA在Custom UITableViewCell中,UITableviewCell Width = 384 和我的UITablVIewWidth = 284。 所以我需要在cellForRowAtIndexPath
的UIViewA宽度为284请指导我如何在UIView
获得cellForRowAtIndexPath
的宽度,因为我想在UIView
中添加动态内容。
答案 0 :(得分:0)
怎么样?
cell.UIViewA.frame.size.width
或
cell.UIViewA.bounds
答案 1 :(得分:0)
将其添加到单元格中的视图创建
UIView *backgroundView = [UIView new];
[backgroundView setTranslatesAutoresizingMaskIntoConstraints:NO];
[backgroundView setBackgroundColor:[UIColor grayColor]];
backgroundView.layer.cornerRadius = 5;
[self addSubview:backgroundView];
NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(backgroundView);
[NSLayoutConstraint activateConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[backgroundView]|"
options:0
metrics:nil
views:viewsDictionary]];
[NSLayoutConstraint activateConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[backgroundView]|"
options:0
metrics:nil
views:viewsDictionary]];
现在您可以打印视图框并获得宽度。
答案 2 :(得分:0)
通常,当您需要查看视图的框架或边界并使用Autolayout定位时,请首先执行以下操作:
[myView setNeedsLayout];
[myView layoutIfNeeded];
现在myView
将拥有正确的框架和边界。