Я использую Monotouch для разработки приложения для iPhone.
В моем приложении только для iPhone у меня появляется InputAccessoryView всякий раз, когда пользователь выбирает текстовое поле.Вспомогательное представление предоставляет кнопки, которые помогают пользователю (отменить / повторить и т. Д.).
Он фантастически работает на симуляторе и на устройствах iPhone.
Однако, совершенно неожиданно, представление аксессуара ввода не отображается на iPad.Я не внес никаких изменений в код, касающийся представлений;Я даже откатился на версию, в которой я знаю правильно отобразил вспомогательный вид.
Мне было интересно, сталкивался ли кто-нибудь еще с таким поведением раньше / знал бы, почему это происходит?
РЕДАКТИРОВАТЬ
Я видел эточерез все моих проектов iphone, работающих на ipad.Я сделал новый проект, который содержит только 1 представление, UITextField
и переопределил представление вспомогательного ввода, и я все еще ничего не вижу.
Код, который я использую для проверки переопределения представления ввода:
public override UIView InputAccessoryView
{
get
{
UIView view = new UIView(new RectangleF(0,0,320,30));
view.BackgroundColor = UIColor.Blue;
return view;
}
}
Ничего слишком сложного, на iPhone просто возвращает синюю полосу над клавиатурой.
Я переустанавливал Mono, MonoDevelop, Monotouch и iOS SDK несколько раз, но безрезультатно.Приложения, которые я скачал из магазина, по-прежнему отображают представление аксессуаров для ввода, поэтому я начинаю задумываться, не связана ли это с моим списком Monotouch / iOS SDK?Я использую Monotouch 3.1.3 персональный и 4.1 iOS SDK - версия 2.6 Mono.Я собираюсь попробовать обновить Mono до версии 2.8.
Я не понимаю, почему раньше это работало, а потом вдруг перестало работать?
При развертывании кода на iPad я выбираю «Перестроить все», а затем загружаю на устройство.Неважно, выберу ли я Release / Debug как сборку, оба будут давать один и тот же результат.
РЕДАКТИРОВАТЬ 2
Если я подкласс UITextField
и переопределить InputAccessoryView
в этом подклассе, то представление появится на iPad.Это означает, что InputAccessoryView
, который переопределяется в классе View, не назначается текстовому полю на ipad.
РЕДАКТИРОВАТЬ 3 Похоже, это исправлено в iOS 4.2 с Monotouch 3.2!