我正在将我的应用转换为ios6,但我遇到了旋转问题。 有人可以帮助我在旋转设备时调用哪些方法
答案 0 :(得分:0)
- (BOOL) shouldAutorotate
-(NSUInteger)supportedInterfaceOrientations
这些是添加到iOS 6的新功能。
答案 1 :(得分:0)
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
-(void)viewWillLayoutSubviews
{
if([self interfaceOrientation] == UIInterfaceOrientationPortrait||[self interfaceOrientation] ==UIInterfaceOrientationPortraitUpsideDown)
{
//set the frames here
}
else if ([self interfaceOrientation] == UIInterfaceOrientationLandscapeLeft||[self interfaceOrientation] == UIInterfaceOrientationLandscapeRight)
{
//set the frames here
}
}
最好使用此方法,每次更改设备的方向时,上述方法都会调用。
答案 2 :(得分:0)
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) toInterfaceOrientation duration:(NSTimeInterval)duration
{
[self doLayoutForOrientation:toInterfaceOrientation];
}
- (void)doLayoutForOrientation:(UIInterfaceOrientation)orientation {
if (UIInterfaceOrientationIsPortrait(orientation))
{
//set the frames here
}
else
{
//set the frames here
}
}
这些是ios 6中的新方法,您可以根据方向设置帧。希望它对你有用。
答案 3 :(得分:0)
使用这些方法处理旋转
-(BOOL) shouldAutorotate
{
return NO;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
如果旋转中的某些视图并且您不希望像UIImagePickerController那样只创建子类并覆盖第一个方法。