我是全新的iphone
,我正在尝试创建一个通用应用程序。
现在我正在创建一个空应用程序。根据所有教程,通过检查universal
选项,它应该appdelegates
为 iphone 和 ipad 自动创建。
但我能看到的只是one appdelegate
。请告诉我如何创建两者。
此致
我是全新的iphone
,我正在尝试创建一个通用应用程序。
现在我正在创建一个空应用程序。根据所有教程,通过检查universal
选项,它应该appdelegates
为 iphone 和 ipad 自动创建。
但我能看到的只是one appdelegate
。请告诉我如何创建两者。
此致
你真的应该只为通用应用程序使用一个 AppDelegate。您可以使用它来分享您将在那里做的常见事情。您究竟需要多个 AppDelegate 做什么?如果您需要执行特定于设备类型(即 iPhone 或 iPad)的操作,则可以执行如下三元表达式:
(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) ?NSLog(@"iPad") : NSLog(@"iPhone");
Brayden 正确地回答了您几乎从不需要多个应用程序代表。委托通常所做的只是处理应用程序启动、暂停或终止的时刻。在 iPhone 运行 iOS 4.0 和 iPad 运行 iOS 3.2 的时代,您可能需要在委托中使用非常不同的代码,因为只有 iOS 4.0 支持多任务处理。那些日子已经一去不复返了,您的代表可能应该在所有设备上采取相同的行动。
是的,您有时确实会达到您的程序在 iPhone 和 iPad 上的行为必须不同的地步。查当时的成语并没有更早。否则,您只是在毫无目的地复制代码。
我最近的应用程序几乎不包含针对 iPhone 或 iPad 的特殊检查。它甚至不使用不同的 XIB。相反,我的自定义视图实现layoutSubviews
填充可用空间。
也就是说,一旦您了解了应用程序代表,也许您会发现需要它们与众不同的情况。如果您绝对确定您的 iPhone 和 iPad 行为会大相径庭,您将需要:
AppDelegate
类)main.m
将您的新代表的类名发送到。UIApplicationMain
请参阅“我可以在我的项目中创建 App Delegate 文件吗?”的答案。查看对 的更改main.m
。