2010-12-13 20 views
0

StackOverflowの最初の質問ですので、私はすべての適切な手順を実行していない場合は私を失礼します。XCodeでInterface Builder Object Coordinatesを設定する

iPhoneがポートレートモードからランドスケープモードに変更されたときに、UIViewの複数のオブジェクトの座標をInterface Builderから変更しようとしています。ビューを拡大するのは嫌いですが、iPhoneがランドスケープモードになったときにオブジェクトを再配置して、すべてのオブジェクトがよりよくフィットするようにしたいと思います。現在、プログラムでX、Y座標を設定する方法を探していますが、これを行うためのより良い方法がある場合は、教えてください。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) { 
    /* Move IBOutlets to different X,Y coordinates */ 

} 
return YES; 

答えて

2

shouldAutorotateToInterfaceOrientation:は唯一の答えにビューが特定の方向性をサポートしているかどうかの質問を使用する必要があります。オブジェクトを並べ替えるには、willRotateToInterfaceOrientation:またはdidRotateFromInterfaceOrientationを使用します。

実際にはUIViewをサブクラス化し、layoutSubviewsを上書きする方がよいでしょう。

+0

いいですが、どうすればこれらのオブジェクトの位置を変更できますか? –

+0

IBアウトレット(http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/IB_UserGuide/CodeIntegration/CodeIntegration.html#//apple_ref/doc/uid/TP40005344-CH18)を設定している場合、 'self.myLabel.frame = CGRectMake(10、10、200、20)' – Brian

+0

のようにオブジェクトのフレームや中心を設定するだけです。ありがとうございました! –

関連する問題