実際、UIModalPresentationPageSheetで表示されるビューコントローラのサイズを変更できます。
<!--The header file-->
@interface MyViewController: ViewController{
//Used to store the bounds of the viewController
CGRect realBounds;
}
<!--In the .m file-->
//viewDidLoad gets called before viewWillAppear, so we make our changes here
-(void)viewDidLoad{
//Here you can modify the new frame as you like. Multiply the
//values or add/subtract to change the size of the viewController.
CGRect newFrame = CGRectMake(self.view.frame.origin.x,
self.view.frame.origin.y,
self.view.frame.size.width,
self.view.frame.size.height);
[self.view setFrame:newFrame];
//Now the bounds have changed so we save them to be used later on
_realBounds = self.view.bounds;
[super viewDidLoad];
}
//viewWillAppear gets called after viewDidLoad so we use the changes
//implemented above here
-(void)viewWillAppear:(BOOL)animated{
//UIModalpresentationPageSheet is the superview and we change
//its bounds here to match the UIViewController view's bounds.
[super viewWillAppear:animated];
self.view.superview.bounds = realBounds;
}
そして、あなたはUIModalPresentationPageSheetと、このビューコントローラを表示します。これを行うには、カスタムビューコントローラクラスを作成し、クラスに以下を追加する必要があります。以上です。これは、この記事の日付現在、iOS 5.1.1とiOS 6で動作します。
'UIModalPresentationFormSheet'にキーボードを隠す問題があります。 'UITextField'で' resignFirstResponder'を呼び出すと、キーボードは閉じられません。 – Fry
http://stackoverflow.com/a/4850751/2832188 – ManicMonkOnMac