iphone - 如何根据设备类型定义常量 (iPad/iphone)

标签 iphone ios objective-c constants

我正在尝试在我的项目中的一个文件中定义常量。

我知道,我可以像下面这样定义它

const CGSize kSize = { 46.f, 44.f };

但是我想要达到的目标是这样的:

if device type iPad

const CGSize kSize = { 146.f, 144.f };

else

const CGSize kSize = { 46.f, 44.f };

是否有可能实现以上几点?

任何人都可以帮助我如何实现这一目标。任何帮助或任何指导都会有所帮助。

最佳答案

如果您的应用程序是通用应用程序,那么您在编译时并不知道您的应用程序将在什么设备上运行(当然您可以在 iPad 上运行 iPhone 应用程序,但它们会保留其 iPhone 尺寸)。您需要进行运行时检查以确定合适的大小。

UIUserInterfaceIdiom idiom = UI_USER_INTERFACE_IDIOM();

if (idiom == UIUserInterfaceIdiomPad) {
    // iPad
} else if (idiom == UIUserInterfaceIdiomPhone) {
    // iPhone
}

关于iphone - 如何根据设备类型定义常量 (iPad/iphone),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16768770/

相关文章:

ios - 如果句子开头有空格,如何防止 UITextView 自动输入换行符

iphone - XCode 中神秘的不充分的堆栈跟踪没有给出错误发生位置的上下文

iPhone:按钮触摸事件 - 释放不触发?

iphone - iOS 5 UIView drawRect 覆盖在设备上不起作用

ios - 在不同设备上正确的图像和字体比例?

iphone - 5000+ CoreData 查询最大化 iPhone CPU 和滞后显示

ios - UIKeyboardFrameBeginUserInfoKey & UIKeyboardFrameEndUserInfoKey

ios - 数组在错误的位置返回值

ios - Ti.Media.queryMusicLibrary 在新更新后崩溃应用程序?

应用程序更新后 iOS 7 创建文件夹时出错