モーダルなダイアログ(パネル)を表示するライブラリ。見た目がいい。
以下はサンプルプログラムの画面
ボタンを押すとダイアログがズームアニメーション(バウンス付き)で現れる。
ビューを貼りつけられるので表示内容はなんでもあり。
iPad での表示。
大きさは初期値で渡すCGGRectで制御できるので調整可能。
使い方はインスタンスを作ってビューへaddするだけ。付属のサンプルでは UAModalPanelのサブクラスを作成して、これを UIViewController.viewへ追加している。
- (IBAction)showModalPanel:(id)sender {
self.currentPanel = [[[UAExampleModalPanel alloc]
initWithFrame:self.view.bounds
title:[(UIButton *)sender titleForState:UIControlStateNormal]] autorelease];
self.currentPanel.autoresizingMask =
UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
self.currentPanel.autoresizesSubviews = YES;
self.currentPanel.delegate = self;
self.currentPanel.margin = 20.0f;
self.currentPanel.shouldBounce = YES;
[self.view addSubview:self.currentPanel];
[self.currentPanel showFromPoint:[sender center]];
}表示したい内容は UIModalPanel.contentView へ任意のUIViewを追加すれば良い。以下サンプルコードより: UIImageView *iv = [[[UIImageView alloc] initWithFrame:CGRectZero] autorelease]; [iv setImage:[UIImage imageNamed:@"UrbanApps.png"]]; [iv setContentMode:UIViewContentModeScaleAspectFit]; NSArray *contentArray = [NSArray arrayWithObjects:wv, tv, iv, nil]; int i = arc4random() % 3; v = [[contentArray objectAtIndex:i] retain]; [self.contentView addSubview:v];
なかなかいい。使えそう。
ライセンス:BSD








いつも有用な情報をありがとうございます。
self.currentPanel.margin は サンプルプログラムを見ると UIEdgeInsets ではないでしょうか?
こんにちは。
指摘されたUIEdgeInsets のようです。掲載コードはどこかからコピーしたものなのですが、古いコードだったのかもしれません??(今探したのですがどこからコピーしたのか今となってはわかりませんでした。。)
指摘ありがとうございました。