Настройка ModalView адресной книги iPhone

У меня быстрый вопрос. Я надеялся, что кто-нибудь из присутствующих с большим опытом сможет пролить свет на меня.

В настоящее время я использую структуру AddressBookUI (в основном ABPeoplePickerNavigationController) для отображения списка контактов, из которого пользователь может выбрать один и перейти к представлению сведений о контактах. Что-то действительно обычное, ничего особенного.

Однако я хотел бы изменить цвет панели поиска, заголовков разделов и фона представления контактов, отображаемого после выбора контакта из списка tableView.

Кажется, что независимо от того, что я пытаюсь (переопределить методы UINavigationController, установить свойства непосредственно при загрузке представления в viewLoaded, перебрать подпредставления в представлении с одним контактом, итеративно устанавливая backgroundColor на clearColor и устанавливая базовое представление для фонового изображения и т. Д.) изменения не прилипают. Заголовки / панель поиска всегда синего цвета, а фон в представлении с одним контактом всегда представляет собой полосатый синий / белый фон (в случае итеративной настройки clearColor для всех подпредставлений я получаю очень неустойчивое поведение для этого, и это просто похоже на такой уродливый хак).

Кто-нибудь знает, как это можно сделать? Я подозреваю, что это связано с тем, что представление является модальным. Любые идеи ??

Я действительно не хочу иметь доступ к API нижнего уровня c. Решить эту проблему таким образом было бы беспорядком в отношении локализации, поскольку я не знал бы, как отсортировать список контактов и индекс tableView на таком большом количестве языков, отличных от латинского алфавита (я могу бесплатно ездить на этом, если мне удастся сохранить с использованием фреймворка на основе какао). Кроме того, я почти уверен, что оптимизация Apple для загрузки / работы со списком контактов в любом случае превзойдет мою собственную. Из того, что я могу почерпнуть, Apple получает прямой доступ к базе данных AB sqlite, в то время как я неизбежно буду вынужден обращаться к ней с еще одного уровня абстракции ... (API на основе c)

Не возражал бы развернуть свои собственные представления адресной книги с использованием c API (что является нелепым излишеством из-за всех накладных расходов на управление данными, связанных с простым изменением некоторых цветов и фона ... ну да ладно), если бы вы, ребята, могли альтернативно указать мне к параметрам сортировки с учетом нескольких языков / алфавита (очевидно, предпочтительнее просто изменить цвета + фон, придерживаясь структуры AddressBookUI).

ЛЮБАЯ способность проникновения в суть ЧРЕЗВЫЧАЙНО ценится !!

СПАСИБО ОГРОМНОЕ,

Хосе


person Community    schedule 11.07.2009    source источник


Ответы (1)


Удачи. Вы копаетесь в нераскрытых частях этого API и можете или не можете получить желаемый результат. В основном это будет метод проб и ошибок, и, поскольку вы не используете опубликованные API, будущие обновления ОС могут сломать ваше приложение и т. Д.

Apple предпочитает сохранять единообразие внешнего вида определенных частей пользовательского интерфейса. Интерфейс адресной книги является одним из них.

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

person amattn    schedule 12.07.2009