トップ «前の日記(2012-05-30) 最新 次の日記(2012-06-04)» 編集

Cocoa練習帳

iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど

2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|

2012-06-03 [iOS]アラートのカスタマイズ(5)

モーダルビューが全画面表示される場合、裏に回ったビューが解放される事もあると思うので、モーダルビューが透けて裏が見えるのは宜しくないのだろう。ということで、アラート風のビューを表示する方法を試す事にした。

Storyboardでビューを用意。InterfaceBuilderの仕様上か、自分が使い方を知らない為か、アラート風のビューを既存の画面の上に生成した。

view

このビューを指すアウトレットと、ボタンに対応するアクションをヘッダーに追加する。

@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;
}
run

カスタマイズするのなら、アラート風のビューを用意するでいいのかもしれないが、アラートとして動作して欲しいのなら、UIAlertViewにビューを追加し、アラート上の各要素の位置を調整する方法でもいいのかな?

_ ソースコード

GitHubからどうぞ。
https://github.com/murakami/workbook/tree/master/ios/Dialog - GitHub

_ 関連情報

[iOS] UIAlertView 上に UIProgressView を載せる [2] キャンセルボタン表示
『Cocoaの日々』いつも参考にさせていただいています。ありがとう!助かります。

トップ «前の日記(2012-05-30) 最新 次の日記(2012-06-04)» 編集