iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
モーダルビューが全画面表示される場合、裏に回ったビューが解放される事もあると思うので、モーダルビューが透けて裏が見えるのは宜しくないのだろう。ということで、アラート風のビューを表示する方法を試す事にした。
Storyboardでビューを用意。InterfaceBuilderの仕様上か、自分が使い方を知らない為か、アラート風のビューを既存の画面の上に生成した。
このビューを指すアウトレットと、ボタンに対応するアクションをヘッダーに追加する。
@interface ViewController : UIViewController
...
@property (strong, nonatomic) IBOutlet UIView *modalPaneView;
...
- (IBAction)done:(id)sender;
- (IBAction)cancel:(id)sender;
...
@end
アラートの表示/非表示は、ビューの表示/非表示で簡単に行える。
- (void)viewDidLoad
{
[super viewDidLoad];
self.modalPaneView.hidden = YES;
}
- (IBAction)done:(id)sender
{
self.modalPaneView.hidden = YES;
}
- (IBAction)cancel:(id)sender
{
self.modalPaneView.hidden = YES;
}
カスタマイズするのなら、アラート風のビューを用意するでいいのかもしれないが、アラートとして動作して欲しいのなら、UIAlertViewにビューを追加し、アラート上の各要素の位置を調整する方法でもいいのかな?