4

iOS5 のマスター/詳細アプリケーション テンプレートで、詳細ビューの中央に UIView を配置する際に問題が発生しています。ビューの幅は iPad の画面より狭く、デバイスの向きに関係なく常に中央に表示されます。これが私が試したことです....

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.view setAutoresizingMask:(UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin)];
    [self.view.layer setBorderWidth:2.0F];
    [self.view.layer setBorderColor:[[UIColor orangeColor] CGColor]];

    // Do any additional setup after loading the view, typically from a nib.
    UIView *someContainerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 600.0F, 56.0F)];
    [someContainerView.layer setBorderWidth:2.0F];
    [someContainerView.layer setBorderColor:[[UIColor greenColor] CGColor]];
    [someContainerView setAutoresizingMask:(UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin)];
    [self.view addSubview:someContainerView];

    [self configureView];
}

ビューの表示方法は次のとおりです

ここに画像の説明を入力

ここで何が欠けているのか誰か教えてもらえますか????

4

1 に答える 1

2

さて、これが私がこの問題を解決したものです。UIViewを作成するときに、これを変更しました

CGRectMake((0, 0, 660.0f, 56.0F)];

これに...

CGRectMake((self.view.bounds.size.width-660.0F)/2, 0, 660.0f, 56.0F)];

私は柔軟な左/右マージンで autoresizingmask を使用しているため、ビューが回転するときに左/右マージンを維持することにより、自動サイズ変更がその魔法を機能させるために、実際には UIView を中央に配置する必要があります。

于 2012-06-09T14:38:20.363 に答える