iPhone 4和iPhone 5之间的xib行为不一致

时间:2013-06-12 09:31:45

标签: iphone ios

我创建了一个应用程序,其中包含两个用于iPhone 4的Xib文件和一个用于iPhone5的文件。 iphone 5屏幕看起来不错,但在iphone 4中会有所不同。

这是iPhone 4的xib文件

enter image description here

这是模拟器屏幕。

enter image description here

我的xib文件大小为320 * 460。我对这种行为一无所知。可以任何一个PLZ帮助。

更新

我使用此代码展示我的VC

TransactionDetailViewController * transactionDetailViewController;

    //select the zib according to the screen size
    CGRect screenBounds = [[UIScreen mainScreen] bounds];
    if (screenBounds.size.height == 568) {
        transactionDetailViewController = [[TransactionDetailViewController alloc] initWithNibName:@"TransactionDetailViewController" bundle:nil];
    } else {
        transactionDetailViewController = [[TransactionDetailViewController alloc] initWithNibName:@"TransactionDetailViewController_iPhone4" bundle:nil];
    }

    // Pass the selected object to the new view controller.
    self.navigationController.navigationBar.tintColor = [UIColor redColor];

    [self.navigationController pushViewController:transactionDetailViewController animated:YES]; 

2 个答案:

答案 0 :(得分:0)

您正在加载iPhone 5笔尖。根据设备设置isIpad全局标志,然后在视图控制器中使用此init方法

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    NSString  *nibName=nil;

    nibName=isiPad?@"viewController_iPhone5":@"viewController";// isIpad is flag set if device is iPhone5

    self = [super initWithNibName:nibName bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

答案 1 :(得分:0)

iPhone 4屏幕未正确调整大小或缩放,因此部分内容位于标签栏后面。

标签栏的标准尺寸为49高,导航栏高44。您可以将视图的大小调整为320 x 367,因为这是460 - 49 - 44。

这不是最好的解决方案,但可能会起作用