Причина, по которой мне нужно выяснить, - это то, что на iPad у UIPickerView одинаковая высота в альбомной ориентации, как и в портрете. На iPhone это другое. Руководство по программированию iPad вводит значение "idiom" для UIDevice:
UIDevice* thisDevice = [UIDevice currentDevice];
if(thisDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad)
{
// iPad
}
else
{
// iPhone
}
который работает нормально, когда вы находитесь в iPad (3.2), но не iPhone (3.1.3) - так что, похоже, там также должен быть ifdef, чтобы условно скомпилировать эту проверку, например:
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 30200
UIDevice* thisDevice = [UIDevice currentDevice];
if(thisDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad)
{
// etc.
}
#endif
Мне это кажется очень неуклюжим. Какой лучший способ?