我在 Xcode 4.5.2 中工作,针对 iPad 应用程序的 iOS6,使用情节提要和 segues。序言:我的根控制器(由应用程序委托加载)是一个启动屏幕,只有一个图像、一个升级按钮和一个打开按钮。应用程序需要几秒钟才能加载。我的三个全屏控制器中都有 shouldAutorotate 和 supportedInterfaceOrientations。对于旋转通知,我在根视图控制器中使用以下两种方法:
- (void)awakeFromNib
{
[UIDevice.currentDevice beginGeneratingDeviceOrientationNotifications];
[NSNotificationCenter.defaultCenter addObserver:self
selector:@selector(orientationChanged:)
name:UIDeviceOrientationDidChangeNotification
object:nil];
}
- (void)orientationChanged:(NSNotification *)notification
{
UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;
if (UIDeviceOrientationIsLandscape(deviceOrientation))
{
// Landscape
CGRect rect = _libraryViewController.libraryTableBorder.frame;
_libraryViewController.libraryTableBorder.frame = rect;
_libraryViewController.libraryTableBorder.image = [UIImage imageNamed:@"LibraryBorder_L.png"];
}
else if (UIDeviceOrientationIsPortrait(deviceOrientation))
{
// Portrait
CGRect rect = _libraryViewController.libraryTableBorder.frame;
_libraryViewController.libraryTableBorder.frame = rect;
_libraryViewController.libraryTableBorder.image = [UIImage imageNamed:@"LibraryBorder_P.png"];
}
}
我在 LibraryViewController 中有这些完全相同的方法,而且效果很好。我有另一个主视图控制器 (entryView),它具有相同的方法,而无需调用 libraryTableBorder。无论设备来自或进入条目视图的旋转方式,表格边框都会正确换出。而且,当从库到 entryView 或启动时,视图是正确的。
问题是从横向的飞溅视图到图书馆。在 Potrait 中去图书馆工作正常,显示的边框是肖像边框。但是,在横向中,它也显示纵向边框。当从根视图处于横向时,如何使库边框以横向显示?
任何帮助解决这个难题将不胜感激!!!