2013-10-16 2 views

答えて

18
CGRect frame = self.View1.frame; 
frame.size.height = self.view.bounds.size.height; 
self.View1.frame = frame; 
+1

は、しかし、注意してください。境界またはフレームのいずれかに固執する。彼らは同じではありません。たとえば、回転方向を回転させると、フレームは元の肖像サイズになりますが、境界は回転にも適用されるため、境界は常に正しいでしょう。 –

1
[self.View1 setFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.x, self.view.frame.size.height, self.view.frame.size.height)]; 
4

あなたが直接境界を変更することはできません。 CGRectは、ビューの範囲外で変更する必要があります。

CGRect viewBounds = self.view1.bounds; 
viewBounds.size.height = self.view.bounds.size.height; 
self.view1.bounds = viewBounds; 

1

私は他の回答の一部に簡単なコメントを追加するのに十分な評判を持っていないので、私はここで重要なポイントのカップルを指摘お手伝いします:

(1)ジャストサイズを変更する場合は、あなたはがちょうど画像のサイズを変更する(ただし、同じ場所でイメージを維持)するために探している場合は、新たなboundsの代わりに、frame

を設定し、その後、代わりに新しいframebounds新しい設定のcdownieの提案に従ってください。たとえば、ポインタの画像があり、画面をタップしているかのように見せたい場合は、boundsのサイズを縮小して実際の速さに戻して、それと同じ画面位置を維持しますイメージの中心にアンカーポイントを設定すると、その中心点です。 Tony Frizが提案したようにframeを変更した場合は、画像サイズを小さくすると、余分な数式で補正しない限り、画像は左上隅に表示されます。

(2)ペン先やストーリーボードで作成した画像は、自動レイアウトをオフにした場合と自動サイズ調整

自動レイアウトは、あなたの周りの画像を移動したり、それらのサイズを変更されているすべてのビューの上にOFFにする必要があります。あなたがそれを残すと、行動は(もちろん)奇妙で予測不可能になります。また、Autolayoutをオフにして、イメージのサイズインスペクタに移動し、適切な原点(たとえば中央)を設定し、すべての点線が点線になるまで自動サイズグリッドの実線をクリックして、すべての自動サイズ制限を無効にします。このようにしてcenterのプロパティを変更し、新しいサイズをboundsに設定することで、イメージの配置を完全に制御できます。このことができます

希望、 エリック

関連する問題