在我的项目中,我需要实现iPhone的方向功能。为此,我创建了两个xib文件和一个UIViewController
控制器文件,一个用于横向,另一个用于纵向。我有一个UIViewController
,因为xib文件的内容是相同的。
现在我想根据轮换加载相应的xib文件,并且当加载特定文件时,内容应保留在TextField
中。我该如何实现呢?
CODE:
if( orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight)
{
NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"landscapeView" owner:self options:nil]; UIView *viewItem = (UIView *)[nibArray objectAtIndex:0]; self.view = viewItem;
}
else if(orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown)
{
//same above lines only different nib name
}
答案 0 :(得分:0)
您可以使用以下代码
检入init
设备方向的UIViewController
方法
if (UIDeviceOrientationIsLandscape([[UIDevice currentDevice] orientation])
{
// load view for landscape mode
}else
{
// load view for portrait mode
}
并选择与当前方向相对应的.xib文件。
希望,这会奏效。
答案 1 :(得分:0)
这是一个非常糟糕的方法请按代码设置xib并使用
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
一个用于旋转,一个用于设置xib。
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
我希望这会对你有所帮助。