隐藏/显示导航栏时遇到问题。我没有笔尖推动我的视图控制器 并创建视图:
- (void)loadView
{
self.view = [[UIImageView alloc] init];
self.view.userInteractionEnabled = YES;
self.view.backgroundColor = [UIColor whiteColor];
self.photoView = (UIImageView *)self.view;
[self nextPhoto];
}
PhotoView(self.view)屏幕上有所有空间,我添加了捏,平移和点击图像。 如果单击,需要显示或隐藏导航栏:
- (void) toggleNavigationBar:(UITapGestureRecognizer *)aGestureRecognizer
{
// for debug
CGRect bounds = photoView.bounds;
CGRect frame = photoView.frame;
// toggle navigation bar
[self.navigationController setNavigationBarHidden:!self.navigationController.navigationBarHidden animated:YES];
// for debug
CGRect bounds2 = photoView.bounds;
CGRect frame2 = photoView.frame;
}
例如,我放大图像x2然后点击以显示导航栏,然后我的变量发生变化:
之前:
bounds = origin=(x=0,y=0) size=(width=320,height=480)
frame = origin=(x=-160,y=-240) size=(width=640,height=960)
后:
bounds2 = origin=(x=0,y=0) size=(width=160,height=240)
frame2 = origin=(x=0,y=0) size=(width=320,height=480)
图像缩小,然后所有图像操作都错误。
为什么会发生这种情况以及如何修复它?我认为隐藏财产的问题, 我需要使用不透明度而不是隐藏属性。