【问题标题】:Transform from ios6 to ios7从 ios 6 转换为 ios 7
【发布时间】:2013-08-28 12:45:15
【问题描述】:

我有一个通用应用程序,我成功地将 iPhone 组件升级到了 ios7。 但是 ipad 组件不再运行。我收到以下错误:

由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'-[UISplitViewController tabBar]: unrecognized selector sent to instance 0x8d9eef0'

我不知道发生了什么。我没有碰任何 ipad 方面的东西。

我正在运行:11A4449d build 和 5A11365y build for x-code 在 mac 机器上。

在此代码之后发生错误:

- (void) awakeFromNib {
    [super awakeFromNib];

    // whenever I come out of a storyboard, I make myself the delegate of any splitview I am in
    self.splitViewController.delegate = self;
}

【问题讨论】:

  • 该错误清楚地表明您正在向不响应该消息的对象发送消息。您提供的代码 sn-p 并不能帮助我们知道是什么。您只需要在调试器中逐步执行此操作,即可找出视图控制器层次结构与您期望的不同之处。
  • 我再次检查了我的代码。在该行有一个断点:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 并意识到我添加了一些代码来修改 iPhone 的 TabBarItems。显然 iPad 不喜欢这样,所以我把这行代码放在它周围: BOOL piPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad); if (!piPad) { )。这样就解决了。
  • 很高兴您设法解决了自己的问题。
  • @user2713097:请将您的解决方案作为答案发布并接受,以便其他浏览问题列表的人可以看到它不再打开。

标签: ipad ios7


【解决方案1】:

在这种方法中:我将所选图像设置在 iPhone 的标签栏上。 但没想到iPad不会喜欢它。所以我在它周围放了一个选择性声明(如果!iPad)来修复它。

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

    BOOL piPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
    if (!piPad)
    {

        // **************************************************************************************************
        // Assign tab bar item with titles and selected images
        UITabBarController *pTabBarController = (UITabBarController *)self.window.rootViewController;

        UITabBar *pTabBar = pTabBarController.tabBar;
        UITabBarItem *pTabBarItem0 = [pTabBar.items objectAtIndex:0];


        pTabBarItem0.title = @"List";


        pTabBarItem0.selectedImage = [UIImage imageNamed:@"tabBarList_30x30_selected"];
        pTabBarItem0.image = [UIImage imageNamed:@"tabBarList_30x30.png"];


        // **************************************************************************************************
    }

    return YES;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多