1

我的应用程序中有一个 .nib 文件,我想将它作为“弹出”窗口显示给用户。

我想要这样的结果:

在此处输入图像描述

在这里,您可以看到一个带有 X 用于关闭的空“弹出”窗口。准确地说,这是一个MT 弹出窗口,但遗憾的是,您只能使用 html 而不能使用视图加载它,例如 .nib 文件。

有谁知道我如何创建这样的弹出窗口来显示 .nib 文件或准备好第 3 方解决方案?

4

1 回答 1

0

自定义 UIView 是您想​​要的我的朋友。

所以创建一个具有超级 UIView 的类。

创建一个objective-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];

当您的自定义视图添加到您的主视图时,它将加载笔尖。

编辑:让 x 关闭它。在您的 customView 中有一个 IBACTION 并说 [self removeFromSuperView]; 您可能希望设置一个与您的控制器通信的委托,以便在关闭视图等时执行某些操作。

想要一个能够点击关闭的自定义视图来关闭它,创建一个UIView放在UITapGestureRecognizer它上面来关闭你的自定义视图并将它放在你的自定义视图下面并覆盖整个屏幕。

希望这可以帮助,

BooRanger

于 2013-02-21T16:05:03.253 回答