когда разделить вид и контроллер - PullRequest
3 голосов
/ 09 ноября 2011

Я часто не делю вещи, связанные с представлениями и контроллерами, правильно.

  1. должен ли я всегда создавать подкласс uiview, если я хочу, чтобы пользовательские uibuttons и фоновые рисунки были добавлены в мое приложение, а также добавить стиль, связанный с моимпосмотреть или я должен справиться с этим в моем контроллере?или, возможно, подкласс uibutton?

  2. как насчет выравнивания?когда я должен создать подкласс uiview, добавить к нему кнопки и затем выровнять или обработать это в моем контроллере?

спасибо за ваши подсказки!Пожалуйста, оставьте некоторые комментарии, если что-то неясно.

1 Ответ

0 голосов
/ 09 ноября 2011

Должен ли я всегда создавать подкласс uiview, если я хочу, чтобы пользовательские uibutton и фоны были добавлены в мое приложение, и добавить на мой взгляд вещи, связанные со стилем

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

Должен ли я справиться с этим в моем контроллере?или, возможно, подкласс uibutton?

Создание подкласса UIButton для поведения UIButton - неплохая идея :-) Но, как уже было сказано, что вам нужно в качестве особого поведения?Особое изображение: для этого есть свойство.Особая реакция на события, управление ею в контроллере на IBActions.UIButton с поведением НЛО, хорошо, давайте подкласс его.

А как насчет выравнивания?когда я должен создать подкласс uiview, добавить к нему кнопки и затем выровнять или обработать это в моем контроллере?

Хммм ... Думаю, никогда.Это можно (нужно) сделать в контроллере.Контроллер контролирует все UIItems.Так что если вы хотите выровнять один элемент относительно другого, сделайте это в контроллере.Если вы хотите выровнять специальную графику или текст, отображаемый в кнопке, создайте подкласс и управляйте этим с помощью метода drawRect.

...