Я разработал клавиатуру для iOS 8. В зависимости от того, является ли устройство iPhone или iPad, я загружаю разные макеты. Теперь у меня проблема при открытии приложения для пользователя (например: Instagram), которое является приложением для iPhone, но загружаемом на iPad, и, конечно, iPad изменяет размер этого приложения. Моя клавиатура обнаруживает устройство как iPad и загружает макет для iPad, но поскольку приложение не является и iPad-приложение, загруженная раскладка клавиатуры не подходит для него. В ближайшее время, есть ли способ проверить программно, если приложение iPhone изменилось на iPad? Поэтому я могу загрузить правильную раскладку клавиатуры.Проверьте, открыто ли приложение для iPhone на iPad
ответ
Если речь идет о каком-либо родовом приложении, ответ не. Приложение для клавиатуры не может определить, установлено ли установленное приложение на основе iphone или iPad.
Если разработчик обоих приложений одинаковый, вы можете получить определенное значение, которое может быть передано через clientUrl.
Это печально. Может ли быть обнаружено это с использованием ширины экрана или разрешения? Когда iPad изменяет размер приложения iPhone, может быть разница в ширине и высоте, я надеюсь. – Amidos
Вы должны учитывать, что даже если это существует, клавиатурное приложение не получит уведомление об этом. :(https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html#//apple_ref/doc/uid/TP40014214-CH16-SW3 – bllakjakk
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
если вы звоните:
if(IS_IPHONE) {
//Device is a iPhone
}
else {
//Device is a iPAD
}
Я использую то же самое. Но это только определяет, является ли устройство iPhone или iPad. Мне нужен специальный случай, чтобы определить, открыто ли приложение iPhone на iPad. – Amidos
Вы не поняли вопроса. – user523234
Если приложение является приложением iPhone (например, Instagram в вашем примере), запущенным в режиме эмулятора на iPad, оно будет иметь пользовательский интерфейс телефона, но тип модели iPad. Вы можете проверить это со следующим кодом:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone &&
[[[UIDevice currentDevice] model] hasPrefix:@"iPad"]) {
// This app is an iPhone app running on an iPad, use iPhone-style layout
}
Надеюсь, это сработает для вашей пользовательской клавиатуры.
К сожалению, это больше не кажется Протестировано, запустив приложение iPhone только на iPad Air2 с iOS9.3. Результатом UI_USER_INTERFACE_IDIOM всегда является UIUserInterfaceIdiomPad. – Simo
Я просто столкнулся с этой проблемой, и единственным решением, которое я придумал, является сравнение ширины моей клавиатуры с шириной экрана устройства.
Поскольку все пользовательские клавиатуры iOS заполняют ширину своего хост-приложения, это означает, что если ширина клавиатуры меньше ширины экрана устройства, то она должна работать с некоторым дополнением по краю. то есть клавиатура будет представлен в приложении iPhone, который в настоящее время отображается на
let keyboardWidth = self.keyboardView.frame.size.width
let screenWidth = UIScreen.mainScreen().bounds.size.width
if (keyboardWidth < screenWidth)
{
print("The keyboard is being displayed in an iPhone app that is running on an iPad.")
}
не самое элегантное решение IPad, но он работает в настоящее время.
- 1. Проверьте, работает ли приложение Phonegap на iPad или iPhone.
- 2. UIDocumentInteractionController: «Открыто», видимое на iPhone, но не на iPad - почему?
- 3. iPhone приложение открывается на iPad, как приложение для iPad
- 4. Проверьте, было ли приложение открыто, нажав на уведомление
- 5. Приложение Ipad для приложения Iphone
- 6. Проверьте, существует ли приложение на iPhone?
- 7. iPad iPhone приложение для iPhone - Какая версия?
- 8. iPhone приложение работает на iPad
- 9. iPhone родное приложение для IPad
- 10. Проверьте, открыто ли соединение ADODB
- 11. Конвертировать приложение iPad в приложение для iPhone?
- 12. Проверьте, открыто ли всплывающее окно
- 13. iphone/преобразования приложение Ipad
- 14. Приложение для Dropbox для iPhone/iPad
- 15. конвертировать приложение ipad для работы на iphone (универсальное приложение)
- 16. Приложение для строительства для iPhone и iPad
- 17. Проверьте, открыто ли приложение во время события GCM onMessage?
- 18. Проверьте, было ли открыто приложение из push-уведомления
- 19. iPhone приложение на iPad без режима совместимости
- 20. Настольное приложение Asp.Net на IPAD \ IPHONE
- 21. Определить приложение iPhone «работает» на iPAD
- 22. Проверьте, открыто ли внешнее приложение. UI тестирование Xcode
- 23. Приложение iPhone InputAccessoryView не отображается на iPad
- 24. Приложение для iPhone закрывается по IPad
- 25. Приложение для iPhone/iPad с понижением рейтинга для iPhone-XIB
- 26. iPhone приложение работает на iPad (режим совместимости)
- 27. Приложение для iPhone, совместимое с iPad
- 28. Проверьте, открыто ли окно сообщений WPF C#?
- 29. Приложение Iphone не отображается на iPad-приложении
- 30. Как смоделировать приложение iPhone на iPad?
Заголовок и описание вопроса не совпадают. –