2009-01-25 6 views
6

Ich bin neu in iPhone Programmierung und ich versuche zu verstehen, wie Rahmen und Grenzen Eigenschaften arbeiten. Im Interface-Builder habe ich UIView erstellt, in dem ich UIImageView als Kind eingegeben habe. Ich machte UIImageView größer als die Elternansicht. Setzen Sie die Eigenschaft 'clip subview' auf true für die übergeordnete UIView und auf false für die untergeordnete UIImageView.
Wenn ich frame.origin Eigenschaft des Kindes UIImageView programmgesteuert ändern. aber wenn ich bounds.origin Eigenschaft des Elternteils ändern UIView sehe ich nichts. Wahrscheinlich verstehe ich falsch den Zweck von bounds.ändern Grenzen Eigenschaft von UIView hat keinen Einfluss auf den Inhalt

Was kann ich tun, um das Verhalten in der iPhone Application Programming Guide beschrieben zu erhalten:

Sie können die Grenzen Ursprung ändern, ohne die beiden anderen Eigenschaften zu verändern. Wenn Sie dies tun, zeigt die Ansicht den Teil des zugrunde liegenden Bildes an, den Sie identifiziert haben. In Abbildung2-4 (Seite 56) wird der Ursprung der ursprünglichen Grenzen auf (0.0.0.0) festgelegt. In Abbildung 2.5 wird dieser Ursprung nach (8.0, 24.0) verschoben. Als Ergebnis wird ein anderer Teil des zugrunde liegenden Bildes von der Ansicht angezeigt. Da sich das Rahmenrechteck jedoch nicht geändert hat, wird der neue Inhalt an der gleichen Stelle in der übergeordneten Ansicht wie zuvor angezeigt.

Vielen Dank im Voraus. Andrew

Antwort

0

Als Erstes stellen Sie sicher, dass Sie einen korrekten Verweis auf die Bildansicht haben, bevor Sie versuchen, seine Grenzen zu ändern. Überprüfen Sie, dass es nicht nil ist.

Zweitens müssen Sie das Rechteck ändern und es dann in einer gesonderten Erklärung wieder eingestellt, wie folgt aus:

CGRect rect = imageView.bounds; 
rect.origin = CGPointMake(whatever, whatever); 
imageView.bounds = rect; 

Bounds nicht einmal sein könnte, was Sie wollen. Ich weiß nicht, wo Sie dieses Zitat haben, aber es klingt nicht richtig. Versuchen Sie, den Rahmen der Bildansicht zu verwenden, um ihn in seiner Superansicht zu positionieren.

Verwandte Themen