Рекомендации по использованию программного интерфейса IOS/monotouch

Новое для iOS, выходящее из мира Java/Swing, где я использую программное обеспечение для создания пользовательских интерфейсов, позволяя компонентам самостоятельно сортировать и использовать различные умные менеджеры макетов для организации вещей.

Уже кажется очевидным, что iOS-путь состоит в том, чтобы интенсивно использовать Interface Builder с большим количеством фиксированных размеров и позиционирования. Я не уверен, что IB когда-нибудь придет естественным путем, но я думаю, что фиксированные макеты имеют смысл, учитывая, что вы работаете с ограниченным пространством и фиксированным размером окна.

По-прежнему кажется, что я пишу много шаблонов, хотя и нарушаю DRY и т.д.

Может ли кто-нибудь указать мне хороший учебник по разработке пользовательских интерфейсов iOS, в частности программных интерфейсов?

Ответ 1

Вам не нужно использовать IB для написания приложений MonoTouch. Я почти никогда этого не делаю. API CocoaTouch довольно прост и прост в разработке.

Я не нашел никакой записи в разработке пользовательского интерфейса, отличной от документации Apple (что действительно хорошо, кстати, достойного чтения), поэтому здесь приводится несколько советов, основанных на моем опыте:

  • Наследование - это ключ к поддержанию чистоты кода. Вы можете наследовать, в основном, любой класс API, например, кнопки, контроллеры, представления и т.д. Наследовать и добавлять свои настройки в эти классы. Не вставляйте все в AppDelegate, как показано на многих примерах. Вы поблагодарите меня позже.
  • Я уже упомянул о наследстве?
  • Единственное, что у iOS нет, это менеджер макетов, поэтому, если вы привыкли к Java, как вы упомянули, это будет звучать немного странно. В отличие от того, что думают люди Java, это не имеет большого значения. UITableViews очень помогают в этом (см. Следующую точку).
  • Многие приложения iphone построены поверх UITableViewController, даже приложений, которые не похожи на таблицы. Это отличная рамка для того, чтобы делать что-либо, связанное с прокруткой. Научитесь использовать его хорошо. Почти все, что прокручивается вертикально, - это UITVC. Следуйте указаниям, которые определяют при создании и при размещении ячеек и объектов.
  • Будьте внимательны, каждый раз, когда вы добавляете в свой блок местоположение Frame. Вместо того, чтобы устанавливать жестко установленные значения, попробуйте использовать смещения из других мест (например, x + 40).
  • Обязательно добавьте свои представления в соответствующий контейнер. Например, если вы добавляете глобальное представление "Загрузка", добавьте его в объект Window, а если вы добавляете изображение с левой стороны ячейки таблицы, используйте ContentView. iOS автоматически изменяет эти специальные представления все время (изменение размера экрана в соответствии со строкой "по вызову" сверху или вращающимся телефоном).
  • Miguel de Icaza создал отличную платформу для управления формами и таблицами, называемыми MonoTouch Dialog. Взгляните и наслаждайтесь.