我的视图中有几张图片。在旋转时,我的图像通过CGAffineTransformTranslate& amp;旋转。
然而,当我在PortraitUpsidedown中启动时,会发生一个我在
中定义的翻译“ - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {”method。
此翻译只需在使用设备进行方向更改时进行。如何确保在启动时不会发生此转换?
编辑:
在实施viewWillAppear方法的提示后仍然遇到问题。
以下是我项目的一些代码。
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
image1.transform = CGAffineTransformTranslate( image1.transform, -65.0, 255.0);
image2.transform = CGAffineTransformTranslate( image2.transform, -65.0, 255.0);
}
else {
image1.transform = CGAffineTransformIdentity;
image2.transform = CGAffineTransformIdentity;
}
}
-(void) viewWillAppear:(BOOL)isRotated{
isRotated = FALSE;
}
但是如何实现我定义的代码片段
isRotated = TRUE;
感谢您的帮助!
答案 0 :(得分:0)
使用shouldAutorotateToInterfaceOrientation
委托方法:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Overriden to allow any orientation.
return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}
设置BOOL
变量。当界面是我们需要使用的YES
&时,请设为CGAffineTransformTranslate
旋转,或从那里调用方法来翻译:
像:
if (interfaceOrientation == UIInterfaceOrientationLandscapeRight)
// do something