モーダルなダイアログ(パネル)を表示するライブラリ。見た目がいい。
以下はサンプルプログラムの画面
ボタンを押すとダイアログがズームアニメーション(バウンス付き)で現れる。
ビューを貼りつけられるので表示内容はなんでもあり。
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 のようです。掲載コードはどこかからコピーしたものなのですが、古いコードだったのかもしれません??(今探したのですがどこからコピーしたのか今となってはわかりませんでした。。)
指摘ありがとうございました。