2013-02-21 2 views
1

У меня есть файл .nib в моем приложении, что я хотел бы показать его пользователю как «всплывающее» окно.Как открыть .nib-файл в окне «всплывающих окон», iOS?

Я хотел бы иметь результат, как этот:

enter image description here

Здесь вы можете увидеть пустое окно «всплывающее» с X для closing.To быть точным это MT popup Window, но, к сожалению, вы можете загружайте его только с помощью html, а не с представлением, например .nib.

Кто-нибудь знает, как я могу создать всплывающее окно, подобное этому, чтобы показать .nib-файл или иметь готовое стороннее решение?

ответ

0

Пользовательский UIView - это то, что вы хотите моего друга.

Итак, создайте класс с супер UIView.

Создайте вызов класса объектива-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]; 

Когда пользовательский вид добавлен в ваш основной вид, он загрузит наконечник.

РЕДАКТИРОВАТЬ: Для того, чтобы закрыть его. У вас customView есть IBACTION и просто скажите [self removeFromSuperView]; Вы можете установить делегат связи с контроллером, чтобы сделать что-то о том, когда виде на замыкают и т.д.

Хочет, чтобы иметь возможность использовать отходящее настраиваемое представление, чтобы закрыть его, создать UIView поставить UITapGestureRecognizer на нем, что закрывает ваш пользовательский вид и размещает его под вашим пользовательским представлением и закрывает весь экран.

Надеется, что это помогает,

BooRanger

+0

Большого спасибо за вашу помощь, но, к сожалению, я не понимаю. Если бы вы могли дать мне примерный рабочий код, было бы лучше. Точно так же я не уверен, где разместить код. – 2013-02-21 16:49:31

+0

@ d0nparalias Эй, я обновил свой ответ, надеюсь, его более понятно, но если нет, вы должны найти что-то в Google об этом, создав пользовательский UIView с помощью nib/xib – BooRanger

Смежные вопросы