Какао + какой элемент пользовательского интерфейса я должен использовать? - PullRequest
0 голосов
/ 17 сентября 2009

Я занимаюсь разработкой приложения с текстовым полем. поэтому, когда я вводю текст, он должен искать в базе данных и давать мне предложения, как поиск в Google. например, если я ввел букву «а», он должен иметь поле, похожее на поле под текстовым полем, в котором все имена начинаются с буквы «а». затем, если я ввел букву 'b', он должен изменить размер поля и дать имена, которые начинаются с 'ab' и так далее.

Я планировал использовать табличное представление под текстовым полем, которое перезагружается при вводе новой вещи в текстовое поле. но я не знаю, как изменить размер таблицы в зависимости от количества предложений. Так есть ли другой элемент пользовательского интерфейса, который подходит для таких ситуаций?

Кроме того, как мне определить новый алфавит или число, введенное в текстовое поле, чтобы я мог отфильтровать предложения, например, есть ли такое уведомление? я хочу сказать, что я ввел букву «а», поэтому теперь строковое значение текстового поля - «а», а теперь я ввел «б». так что теперь строковое значение изменилось на 'ab'. как мне это обнаружить? я думаю, что textDidChange уведомление сделает это для меня.

Спасибо

Ответы [ 2 ]

1 голос
/ 17 сентября 2009

Вы можете использовать NSComboBox для автозаполнения списков, как вы описали. NSComboBox является подклассом NSControl, поэтому вы можете использовать метод -controlTextDidChange: Delegate для обнаружения изменений в тексте, который вводит пользователь. Убедитесь, что вы установили элемент управления на «непрерывный» в Интерфейсном Разработчике или вызовите [comboBox setContinuous: YES].

0 голосов
/ 17 сентября 2009

Если по какой-либо причине вы обнаружите, что поле со списком не подходит для вашей ситуации, вы можете реализовать список завершений как дочернее окно окна элемента управления с представлением таблицы без заголовка. Затем вы программно измените размер этого окна при изменении количества возможных завершений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...