我有一个自定义的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