Как вручную инициализировать пользовательский UIView - PullRequest
2 голосов
/ 30 мая 2011

Это может быть простой вопрос, но я застрял. Я попытался расширить UIView и инициализировать его с другого контроллера, но обнаружил, что мой пользовательский метод инициализации UIView не вызывается. Как мне инициализировать мой пользовательский UIView?

// BookView.h
@interface BookView : UIView {
}

//BookView.m
@implementation BookView
- (void) initialize{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"Alert" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
    [alert show];
    [alert release];
}
@end

//BookViewController.m
-(void)viewDidLoad{
    BookView *bookView = [(BookView*)[BookView alloc] initWithTest:[[UIScreen mainScreen] bounds]];
}

Ответы [ 3 ]

1 голос
/ 30 мая 2011

попробуйте это,

BookView *bookView =[[BookView alloc] init];
bookView.frame=self.view.frame;
[self.view addSubView:bookView];
[bookView release];
0 голосов
/ 30 мая 2011
//BookView.m
@implementation BookView
- (void) init { // changed from (void)initialize {}
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"Alert" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
    [alert show];
    [alert release];
}

.. и затем примените @Navaneethan init вашего BookView.

0 голосов
/ 30 мая 2011
NSArray *nibViews =  [[NSBundle mainBundle] loadNibNamed:@"BookView" owner:self options:nil];
self.yourBookView = [nibViews objectAtIndex:0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...