2010-10-06 4 views
10

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

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

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

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

ответ

20

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

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

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

Спасибо, это полезно. Я собираюсь продолжать пытаться выяснить IB на некоторое время, хотя бы потому, что столько документации предполагает, что вы его используете, но я, вероятно, скоро закончил бы ручную кодировку. –

Смежные вопросы