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 の動作です)。

いずれにせよ、bounds: の代わりに frame を使用してください。または、非標準の CGRects (負の幅と高さを持つ四角形など) を正しく処理できるためcell.positionedLabel.frame.origin.x、さらに良いことです。CGRectGetMinX(cell.positionedLabel.frame)CGRectGetMinX

于 2013-03-19T15:09:41.123 に答える