gpt4 book ai didi

iphone - 是否可以创建一半仅与 iphone 兼容而其他部分通用的应用程序?

转载 作者:行者123 更新时间:2023-12-01 17:26:18 26 4
gpt4 key购买 nike

我正在开发一个应用程序,根据客户的要求,很少有 View 仅与 iPhone 4 设备兼容,而其他 View 与 iPhone 4,5/iPad 兼容。那么单机可以吗?

我知道这是不可能的,但我想要你的建议。
如果您有任何与此相关的链接,请与我分享。

最佳答案

是的,iPhone 3.5"、iPhone 4"和 iPad 可以有不同的 View 。此外,您可以在每个不同的设备中实现不同的功能。但是,iOS User Interface Guidelines建议您在不同的设备上提供相同的功能。

Preserve the primary functionality of your app, regardless of the device it runs on. Even though one version might offer a more in-depth or interactive presentation of the task than the other, it’s important to avoid making users feel that they’re choosing between two entirely different apps.



在实践中,您可以使用以下宏以编程方式编写 fork 来构建(以编程方式) View :
#define isIpad() \
([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] && \
[[UIDevice currentDevice] userInterfaceIdiom]==UIUserInterfaceIdiomPad)

#define isWidescreen ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 )<DBL_EPSILON )
#define isIphone ( [ [ [ UIDevice currentDevice ] model ] isEqualToString: @"iPhone" ] )
#define isIpod ( [ [ [ UIDevice currentDevice ] model ] isEqualToString: @"iPod touch" ] )
#define isIphone5 ( isIphone && isWidescreen )

此外,您可以使用 fork 和 UIViewController 消息为每个不同的设备创建不同的 xib 文件: - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil , 加载正确的文件。

最后,您可以在 xib 文件名中使用修饰符来加载 iphone 和 ipad 之间的不同资源。例如:您的 iPad UI 有 FirstViewController.xib;如果设备是 iPhone(而不是 FirstViewController.xib),您可以创建一个将由 iOS 自动加载的 FirstViewController~iphone.xib。您可以查看 this回答有关此主题的更多信息。

编辑

如果您已经有“仅 iPhone 的 xib 文件”并且您想在 iPad 上运行这些文件,您应该考虑复制每个文件,并将副本转换为 iPad 目标为 thisthis答案解释。然后,您可以重新命名以“~ipad.xib”结尾的副本,这应该可以解决您的问题,但是,此 View 需要修改布局。

关于iphone - 是否可以创建一半仅与 iphone 兼容而其他部分通用的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16775224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com