統計情報(30日間)


最新情報をツイート

人気の投稿

モーダルダイアログ(パネル)ライブラリ - UAModalPanel

このエントリーをはてなブックマークに追加

モーダルなダイアログ(パネル)を表示するライブラリ。見た目がいい。


以下はサンプルプログラムの画面

ボタンを押すとダイアログがズームアニメーション(バウンス付き)で現れる。

ビューを貼りつけられるので表示内容はなんでもあり。

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

2 Responses to モーダルダイアログ(パネル)ライブラリ - UAModalPanel

  1. いつも有用な情報をありがとうございます。
    self.currentPanel.margin は サンプルプログラムを見ると UIEdgeInsets ではないでしょうか?

  2. xcatsan says:

    こんにちは。
    指摘されたUIEdgeInsets のようです。掲載コードはどこかからコピーしたものなのですが、古いコードだったのかもしれません??(今探したのですがどこからコピーしたのか今となってはわかりませんでした。。)
    指摘ありがとうございました。

Leave a Reply