3

在我的应用程序中,我尝试使用 TTphotoView,因此在 ViewController 中,我使用我的 navigationController 推送 TTphotoView,如下所示:



if(self.photoViewController == nil {

  PhotoViewController *viewController = [[PhotoViewController alloc] init];
  self.photoViewController = viewController;
  viewController.hidesBottomBarWhenPushed = YES;
  [viewController release];
}
[self.navigationController pushViewController:self.photoViewController animated:YES];
[self.navigationController  dismissModalViewControllerAnimated:YES]


问题是当用户在 PhotoViewController 上旋转设备时没有任何反应。

编辑:我不敢相信人们没有同样的问题。如果有人在他的应用程序中使用 photoView 和他自己的导航而不是 TTNavigation,他能告诉我他是如何推送 ViewController 的吗?

4

3 回答 3

2

我有同样的问题。

不知道为什么,但是three20代码中的TTScrollView deviceOrientationDidChange方法被注释掉了!如果您取消注释,它将起作用。

请参阅此处的代码:http: //github.com/facebook/three20/blob/master/src/TTScrollView.m

于 2010-03-24T09:49:54.477 回答
0

我对willcodejavaforfood的评论,正如我告诉你的那样,我可以强制执行类似的操作,但内部问题太多,并且three20 的 PhotoViewController 必须自己完成,所以我不希望这样:



- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receivedRotate:) name:UIDeviceOrientationDidChangeNotification object:nil];
}


-(void) receivedRotate: (NSNotification *) notification {

     NSLog(@"ORIENTATION CHANGE");
     UIDeviceOrientation interfaceOrientation = [[UIDevice currentDevice] orientation];

     if(interfaceOrientation == UIDeviceOrientationLandscapeRight) {

        [UIView beginAnimations:@"View Flip" context:nil];
        [UIView setAnimationDuration: 0.5f];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

        self.view.transform = CGAffineTransformIdentity;
        self.view.transform = CGAffineTransformMakeRotation(-M_PI/2);
        self.view.bounds = CGRectMake(0.0, 0.0, 480.0, 320.0);

        self.view.center = CGPointMake(240.0f, 160.0f);
        [UIView commitAnimations];

    }
}

于 2010-02-12T10:44:51.357 回答
0

您是否覆盖了您的应用程序的:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

并为横向返回YES?

于 2010-02-12T09:10:03.103 回答