1

約 100 の理由から、この UIViewController サブクラス ビューをプログラムで作成する必要がありました。1 つだけ、他のすべてのビューは IB を使用してレイアウトを作成します。

さて、アプリを自動回転させるタスクに着手しました。ほとんどの場合はこれで問題ありませんが、これらのレイアウト オプションのいくつかを理解するのに助けが必要です... 自動サイズ調整と配置に固有

ここでこれを設定するにはどうすればよいですか (これは「ヘッダー」と呼ばれるオブジェクトになるため、[header setAutoresizingMask:...]

ここに画像の説明を入力

そして、これと同様に

ここに画像の説明を入力

そして、それは_mapView

私は利用可能なオプションを絶えず叩き続けてきましたが、識別できる違いがないか、適切なオプションを設定していません...

    header = [UIButton buttonWithType:UIButtonTypeCustom];
    [header setFrame:CGRectMake(0, 0, self.view.frame.size.width, 170)];

    // this one shoves the header button when in landscape mode to out of view :\
    [header setAutoresizingMask:UIViewAutoresizingFlexibleTopMargin];
    // the header remains left aligned when in landscape mode...
    [header setContentVerticalAlignment:UIControlContentHorizontalAlignmentCenter];


    [header setBackgroundImage:[[UIImage imageNamed:@"header.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateNormal];
    [header setBackgroundImage:[[UIImage imageNamed:@"header.png"] stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0] forState:UIControlStateHighlighted];

    [header addTarget:self action:@selector(goHome) forControlEvents:UIControlEventTouchUpInside];



    _mapView = [[[SPMapView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)] autorelease];
    [_mapView setDelegate:self];




    [self.view addSubview:_mapView];
    [self.view addSubview:header];
4

1 に答える 1

2

最初のもののために:

CGRect newFrame = mainView.frame;
        newFrame.origin = CGPointMake(160, 170);
        newFrame.size = CGSizeMake(768, 170);
        myView.frame = newFrame;
        myView.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin;

そして2番目のもののために:

CGRect newFrame = mainView.frame;
            newFrame.origin = CGPointMake(160, 416);
            newFrame.size = CGSizeMake(320, 247);
            myView.frame = newFrame;
            myView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
于 2012-11-21T18:46:48.977 に答える