2

iOS では、ビューのframeを変更するboundsと も変更されbounds、 を変更すると も変更されますframe

ただし、次の方法でビューの内部座標系を変更できます。

CGRect b = v.bounds;    // v is the UIView object
b.origin.x = 10000;
b.origin.y = 10000;
v.bounds = b;

そして今、ビューの左上の点は の座標です(10000, 10000)frameこれは単にand を変更するだけで可能ですが、そうでcenterはありませんboundsか?

4

1 に答える 1

3

iOS では、ビューのフレームを変更すると境界が変更され、境界を変更するとフレームが変更されます。

それは半分本当です。これらの 2 つの四角形のサイズのみが結合されます。ドキュメントから:

フレームと境界の四角形のサイズ部分は結合されているため、いずれかの四角形のサイズを変更すると両方のサイズが更新されます。

それは起源については言及していません。したがって、この例では、スーパービューの座標系での位置を変更せずに、内部座標系の原点を変更します。frameまたはcenterプロパティを介してその動作を実現することはできません。スーパービューの座標系でのビューの位置にのみ影響します。

于 2012-05-23T22:07:39.920 に答える