Я создаю приложение для iPhone, и у меня проблема с запуском кода для presentModalViewController из viewController, который вложен в Scrollview, когда я нажимаю кнопку, чтобы представить следующий контроллер представления, я получаю медленную анимацию и пустой экран для двоих секунд.
Из моего AppDelegate я устанавливаю rootViewController для моего ViewController (который содержит код для установки моего макета прокрутки)
Я в основном загружаю два контроллера вида в скроллвью, чтобы пользователь мог опустить экран, чтобы увидеть историю.
AppDelegateCode
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[application setStatusBarStyle:UIStatusBarStyleBlackOpaque];
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
ViewController *controller = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
self.window.rootViewController = controller; //self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
Код ViewController
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear: animated];
CGRect bounds = self.view.bounds;
vScroller.bounces = NO;
vScroller.pagingEnabled = YES;
vScroller.showsVerticalScrollIndicator = FALSE;
vScroller.alwaysBounceVertical = FALSE;
vScroller.contentSize = CGSizeMake(bounds.size.width, bounds.size.height * 2);
// History View Controller..
historyViewController *historyView = [[historyViewController alloc] initWithNibName:@"historyViewController" bundle:nil];
[vScroller addSubview:historyView.view];
[historyView release];
// Reconfigure Content Offset
vScroller.contentOffset = CGPointMake(0, bounds.size.height);
// Calculator View Controller
mainCalculatorViewController *mainView = [[mainCalculatorViewController alloc] initWithNibName:@"mainCalculatorViewController" bundle:nil];
mainView.view.frame = CGRectOffset(bounds, 0, bounds.size.height);
[vScroller addSubview:mainView.view];
}
mainCalculatorView Информация о контроллере Код кнопки
- (IBAction)btnInfo:(id)sender
{
infoViewController *controller = [[infoViewController alloc] initWithNibName:@"infoViewController" bundle:nil];
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
[controller release];
}
Проблема в том, что при нажатии кнопки «Информация» я получаю плохую анимацию, мне кажется, что, возможно, кнопка и presentModal View Controller должны запускаться из родительского ViewController, который содержит вложенные представления прокрутки, но я не уверен, как это сделать .
Любые советы или предложения будут великолепны.
Спасибо, Аарон