2013-04-02 2 views
0

Я создал customView и внутри customView, есть изображениеView. Когда я передаю элемент управления customView и распечатываю свой ImageView, он возвращает null. Не знаю, почему.UIImageView возвращает nil в customView

.h

#import <UIKit/UIKit.h> 

@interface GalleryImage : UIView 
{ 
    IBOutlet UIImageView *galleryImageView; 
} 
- (id)initWithImage:(UIImage*) image; 
@property(strong,nonatomic) IBOutlet UIImage *galleryImage; 
@end 

.m

#import "GalleryImage.h" 

@implementation GalleryImage 

@synthesize galleryImage; 

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     // Initialization code 
    } 
    return self; 
} 
- (id)initWithImage:(UIImage*) image 
{ 
    self = [super init]; 
    if (self) { 
     galleryImage = image; 
     [galleryImageView setImage:galleryImage]; 
    } 
    return self; 
} 

передать управление таким образом:

UIImage *infoImage = [UIImage imageNamed:imageName]; 

GalleryImage *galleryItem = [[GalleryImage alloc] initWithImage:infoImage]; 

Но мой galleryImageView возвращает нуль. Любая идея почему?

+0

Был создан вид в IB или в коде? Если вы создали код, добавили ли вы его в представление? Вы подключили розетку? –

+0

Вызывает ли сам 'galleryImageView 'значение null или его изображение равно нулю? –

+0

Я создал представление в IB и сделал пользовательский класс = GalleryImage – lakesh

ответ

3

galleryImageView является IBOutlet и получает память только после того, как она загружается из метода инициализации СИБ .The выполняется перед ним .Hence ImageView не имеет действительную память и возвращает нуль

ли это в

awakeFromNib 
Prepares the receiver for service after it has been loaded from an Interface Builder archive, or nib file. 

Так используйте этот

- (void)awakeFromNib { 
     [galleryImageView setImage:galleryImage]; 
} 
+0

спасибо .. получите смысл .. смысл сказать, что метод init вызывается до инициализации файла nib ... – lakesh

+0

как решить проблему? – lakesh

+0

@lakesh отредактировал ответ –

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