1

アプリケーションに .nib ファイルがあり、それを「ポップアップ」ウィンドウとしてユーザーに表示したいと考えています。

私はこのような結果を得たいと思います:

ここに画像の説明を入力

ここでは、閉じるための X が付いた空の「ポップアップ」ウィンドウが表示されます。正確には、これはMT ポップアップ ウィンドウですが、悲しいことに、.nib ファイルのようなビューではなく、html でのみロードできます。

このようなポップアップウィンドウを作成して.nibファイルを表示したり、サードパーティのソリューションを準備したりする方法を知っている人はいますか?

4

1 に答える 1

0

カスタム UIView は、私の友人が望むものです。

そのため、スーパー UIView を持つクラスを作成します。

object-c クラスの呼び出しを作成します。たとえば、私はCustomViewと呼んでいます

あなたのヘッダー(.h)

#import <UIKit/UIKit.h>

@interface CustomView : UIView

@end

あなたのクラス(.m) #import "CustomView.h"

@implementation CustomView

- (id)initWithFrame:(CGRect)frame
{ 
    self = [super initWithFrame:frame];
    if (self) {
    // Initialization code
    [self loadNib];
    }
    return self;
}

- (void) loadNib
{
    NSArray * subviewArray = [[NSBundle mainBundle] loadNibNamed:@"MyNib" owner:self options:nil];
    UIView * mainView = [subviewArray objectAtIndex:0];

    [self addSubview:mainView];

}
- (IBAction)close:(id)sender{
     [self removeFromSuperview];
}
@end

ViewController 呼び出しで、カスタム ビューを追加します。多くの場合、IBAction (ボタン クリックなど) でこれが必要です。

 CGRect frame = CGRectMake(10,10,300, 460);
 CustomView *view = [[CustomView alloc] initWithFrame:frame]; 
 [self.view addSubview:view];

カスタム ビューがメイン ビューに追加されると、nib がロードされます。

編集: x を閉じるには。customView には IBACTION があり、[self removeFromSuperView]; と言うだけです。コントローラーと通信するデリゲートをセットアップして、view on closes などで何かを実行したい場合があります。

オフのカスタム ビューをタップして閉じることができるようにするには、カスタム ビューを閉じてカスタム ビューの下に配置し、画面全体をカバーするUIView配置を作成します。UITapGestureRecognizer

お役に立てれば、

ブーレンジャー

于 2013-02-21T16:05:03.253 に答える