我有一個自定義的init方法:viewDidLoad在initWithFrame之前被調用?
- (id) initWithFrame:(CGRect) frame andImage:(UIImage *) image
{
self = [super init];
if (self){
self.view.frame = frame;
self.imageView_.image = image;
self.imageScrollView_.frame = self.view.frame;
imageOriginalFrame = frame;
zoomedImageFrame = frame;
NSLog(@"SCREEN DIM %f AND %f", zoomedImageFrame.size.height, zoomedImageFrame.origin.y);
}
return self;
}
,這裏是我如何呈現這些情節:
FullSizeImageViewController * fullSize = [[FullSizeImageViewController alloc] initWithFrame:imageOriginalFrame andImage:image];
if ([self.delegate respondsToSelector:@selector(fullStoryViewController:presentModalViewController:animated:)]) {
[self.delegate fullStoryViewController:self presentModalViewController:fullSize animated:YES];
}
然而,令人驚訝我的viewDidLoad是獲得initWithFrame之前調用。這怎麼可能?
我猜這是因爲我叫超級初始化?如果不是,我該怎麼做?
它實際上通過ib – adit