0

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

这是 iPhone 4 的 xib 文件

在此处输入图像描述

这是模拟器屏幕。

在此处输入图像描述

我的 xib 文件大小是 320*460。我不知道这种行为。任何人都可以帮忙。

更新

我正在使用此代码展示我的 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]; 
4

2 回答 2

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;
}
于 2013-06-12T09:59:11.107 回答
0

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

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

诚然,这不是最好的解决方案,但它可能只是工作

于 2013-06-12T10:49:44.097 回答