presentModalViewController:不返回
|
我发生了一件很奇怪的事情。在我的应用程序委托中,我正在UITabBarController上调用presentModalViewController:来显示自定义类(LoadingViewController),该类实现了loadView来显示图像。当我在模拟器中针对iOS 4.x设备(iPhone或iPad)进行测试时,它在所有方向上均正常运行。但是,当我在3.2 iPad上进行测试时,如果方向是纵向,则只能正常工作。如果是风景,则不会返回presentModalViewController:方法。调用loadView和viewDidLoad方法,但不调用viewWillAppear:和viewDidAppear:方法。
有任何想法吗?
这是LoadingViewController中loadView的代码:
- (void) loadView
{
CGRect mainScreenBounds = [UIScreen mainScreen].bounds;
UIImageView * loadingImageView = [[UIImageView alloc] initWithFrame: mainScreenBounds];
loadingImageView.autoresizesSubviews = YES;
loadingImageView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
NSString * splashImageName = [self getSplashImageName: [UIDevice currentDevice].orientation];
loadingImageView.image = [UIImage imageNamed: splashImageName];
UIActivityIndicatorView * spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleWhiteLarge];
CGRect spinnerFrame = spinner.frame;
spinnerFrame.origin.x = (mainScreenBounds.size.width - spinnerFrame.size.width) / 2;
spinnerFrame.origin.y = mainScreenBounds.size.height * 0.7f;
spinner.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin
| UIViewAutoresizingFlexibleRightMargin
| UIViewAutoresizingFlexibleTopMargin
| UIViewAutoresizingFlexibleBottomMargin;
spinner.frame = spinnerFrame;
spinner.hidesWhenStopped = YES;
[spinner startAnimating];
[loadingImageView addSubview: spinner];
// Add a label indicating we are working so the user knows what we are doing.
UIColor * textColor = [UIColor blueColor];
CGRect labelFrame = loadingImageView.frame;
labelFrame.size.height = 40;
labelFrame.origin.y = spinnerFrame.origin.y - 100;
UILabel * workingLabel = [[UILabel alloc] initWithFrame: labelFrame];
workingLabel.font = [UIFont systemFontOfSize: 18.0];
workingLabel.textColor = textColor;
workingLabel.backgroundColor = [UIColor clearColor];
workingLabel.textAlignment = UITextAlignmentCenter;
workingLabel.text = NSLocalizedString(@\"Searching for location...\", @\"Searching for location...\");
workingLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin
| UIViewAutoresizingFlexibleRightMargin
| UIViewAutoresizingFlexibleTopMargin
| UIViewAutoresizingFlexibleBottomMargin
| UIViewAutoresizingFlexibleWidth
| UIViewAutoresizingFlexibleHeight;
[loadingImageView addSubview: workingLabel];
[workingLabel release];
[spinner release];
self.view = loadingImageView;
[loadingImageView release];
}
没有找到相关结果
已邀请:
2 个回复
课刊灭似
时应为RootViewController。IOS 3.2还存在一个问题,即在UITabBarController中将landscape2ѭ用在UITabBarController中时,如果所有视图控制器都不重写
并返回yes,则将导致
挂起。
卧沫