for_2012 2013-02-28 05:54 采纳率: 0%
浏览 3169
已采纳

添加两个xib文件支持iphone屏幕

请教一个关于iphone屏幕尺寸的问题,

我创建了两个xib文件(MainWindow.xibMainWindowiPhone5.xib)。这样我的屏幕就可以支持两种屏幕尺寸。

我试过在AppDelegate.m中编程,但是没有实现。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
    UIStoryboard *storyBoard;

    CGSize result = [[UIScreen mainScreen] bounds].size;
    CGFloat scale = [UIScreen mainScreen].scale;
    result = CGSizeMake(result.width * scale, result.height * scale);

    if(result.height == 1136){
        storyBoard = [UIStoryboard storyboardWithName:@"MainWindowiPhone5" bundle:nil];
        UIViewController *tabBarController = [storyBoard instantiateInitialViewController];
        [self.window.rootViewController = self.tabBarController];
    }
}

return YES;
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
// Set the tab bar controller as the window's root view controller and display.
self.window.rootViewController = self.tabBarController;
tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor blackColor];
[self.window makeKeyAndVisible];
return YES;
}

如何让两个xib都能正常运行呢?

  • 写回答

1条回答 默认 最新

  • redCoral_ 2013-02-28 06:40
    关注

    应该是这样:

    iPhone-4S屏幕:

     if ([[UIScreen mainScreen] bounds].size.height == 480)
     {
       ---- Your Code ----
     }
    

    iPhone-5 屏幕:

     if ([[UIScreen mainScreen] bounds].size.height == 568)
     {
       ---- Your Code ----
     }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考