Как показать пользовательский uialertview, созданный в конструкторе интерфейса - PullRequest
2 голосов
/ 24 октября 2011

Я создал собственное uialertview в ib, с двумя кнопками и текстовым полем.Затем я создаю .h и .m таким образом:

#import <UIKit/UIKit.h>

@interface DialogWelcome : UIAlertView{
    IBOutlet UITextField *text;
    UIButton *ok;
    UIButton *annulla;
}
@property(nonatomic,retain) UITextField *text;
- (IBAction)ok:(id)sender;
- (IBAction)annulla:(id)sender;
@end

и .m:

#import "DialogWelcome.h"

@implementation DialogWelcome
@synthesize text;

-(IBAction)ok:(id)sender{

}
-(IBAction)annulla:(id)sender{

}

@end

Я не реализовал методы, потому что сначала мне нужно показать его!я называю это в viewcontroller следующим образом:

- (void)viewDidLoad
{
    [super viewDidLoad];
    DialogWelcome *alert = [[DialogWelcome alloc] initWithTitle:@"Welcome" 
                                                message:nil 
                                               delegate:nil 
                                      cancelButtonTitle:nil 
                                      otherButtonTitles:nil];

    [alert show];
    dispatch_time_t delay = dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*2.0);
    dispatch_after(delay, dispatch_get_main_queue(), ^{
        [alert dismissWithClickedButtonIndex:0 animated:YES];
    });

    [alert release];
}

Это покажет нормальное представление uialertview с заголовком.почему он не показывает мой пользовательский uialertview?

1 Ответ

3 голосов
/ 24 октября 2011

Из Ссылка на класс UIAlertView :

Класс UIAlertView предназначен для использования как есть и не поддержка подклассов. Иерархия представления для этого класса является частной и не должны быть изменены.

Итак, то, что вы пытаетесь сделать, явно не разрешено.

...