1

我正在尝试以编程方式创建一个UIImageView并将其放置在另一个使用 IB 定位的静态控件附近。我的代码是这样的:

iv.frame = CGRectMake(cell.positionedLabel.bounds.origin.x - 20, cell.positionedLabel.bounds.size.height, 26, 26);

但是添加了 IB 的标签的 x 始终为 0.0。

我正在这样做cellForRowAtIndexPath

有谁知道为什么还没有为这个项目设置边界?谢谢。

4

1 回答 1

2

边界原点几乎总是零。唯一常见的例外是 UIScrollView ,它的子类将设置一个非零边界原点来偏移它们的内容(这就是 contentOffset 所做的)。

无论如何,使用 frame 而不是 bounds: cell.positionedLabel.frame.origin.x,或者更好,CGRectGetMinX(cell.positionedLabel.frame)因为CGRectGetMinX它将正确处理非标准 CGRects(如具有负宽度和高度的矩形)。

于 2013-03-19T15:09:41.123 回答