5

ビュー コントローラーの表示スタイルをフォーム シートに設定して表示しようとしています。ただし、View Controller が表示されると、画面の中央ではなく右側に配置されます。なぜこれが起こっているのか、何をすべきなのかわかりません。これらの座標はすべて正しいです。

CGSize size = CGSizeMake(650, 550);

//custom init for ViewController so I can position stuff correctly
ViewController *vc = [[ViewController alloc] initWithSize:size];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];

nav.modalPresentationStyle = UIModalPresentationFormSheet;
nav.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

[self presentModalViewController:nav animated:YES];

nav.view.superview.frame = CGRectMake(0, 0, size.width, size.height);
nav.view.superview.center = self.view.center;

ここに画像の説明を入力

4

1 に答える 1

1

最後の 2 行を削除するたびに、あなたが探している動作であると思われるものが得られるようです。

CGSize size = CGSizeMake(650, 550);

//custom init for ViewController so I can position stuff correctly
ViewController *vc = [[ViewController alloc] initWithSize:size];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];

nav.modalPresentationStyle = UIModalPresentationFormSheet;
nav.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

[self presentModalViewController:nav animated:YES];

これらの 2 つの行で何をしようとしていたのか正確にはわかりませんが、それらがないとビューが中央に配置されます。

于 2013-03-17T05:12:09.790 に答える