0

メイン ビューの右下隅に UIActivityIndi​​catorView をプログラムで追加して配置しようとしています。私のアプリは回転できます。

現在、viewDidLoad-method には次のコードがあります。

[super viewDidLoad];        
UIActivityIndicatorView *iv = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
        [iv startAnimating];
        int margin = 14;
        iv.frame = CGRectMake(
                                       self.view.frame.size.width - iv.frame.size.width - margin,
                                       self.view.frame.size.height - iv.frame.size.height - margin,
                                       iv.frame.size.width,
                                       iv.frame.size.height );
    iv.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
        [self.view addSubview:iv];

アプリを縦向きで起動すると、アクティビティ インジケーターが正しく配置されます。デバイスを回転させる (または横向きでアプリを起動する) とすぐに、アクティビティ インジケーターの位置が正しくありません。

これはどのように修正できますか?

4

2 に答える 2

0

また、メイン ビューの高さが変化したときにビューが上下にスライドするように、柔軟な上部マージンも必要です。また、親ビューは YES に設定された autoresizedSubviews が必要です (デフォルトは YES なので、おそらく問題ありません)。

distanceLabel.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleTopMargin);
于 2012-10-05T12:17:04.467 に答える
0

ビュー コントローラーで、メソッドshouldAutorotateToInterfaceOrientationをオーバーライドし、向きが変わったときに位置を修正します。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation;
于 2012-10-05T12:22:02.480 に答える