Я пытаюсь понять, как создать стандартный внешний вид в моем приложении для iphone. Поэтому, если бы я когда-нибудь захотел изменить фон для UIView, я бы обычно делал что-то подобное во всех моих контроллерах представлений:
self.view.backgroundColor = [UIColor groupTableViewBackgroundColor]
Это становится довольно избыточным и подверженным ошибкам, когда у вас есть около 50 UIViews для управления. И, конечно же, клиенты меняют желаемое фоновое изображение каждые 3 дня или около того. Итак, мой следующий вариант — создать вспомогательные файлы, например:
@implementation GuiDefaultsUIView
+ (void) setDefaultProperties:(UIView *) view {
view.backgroundColor = [UIColor groupTableViewBackgroundColor];
А затем вручную вызовите [GuiDefaultsUIView setDefaultProperties:self.view];
из каждого контроллера представления. Это работает, и я делаю это сейчас, но это означает, что для каждого объекта пользовательского интерфейса (например, UIButton, UITableView) мне нужно будет вызывать аналогичную функцию для каждого экземпляра каждого класса.
Что я хотел бы сделать, так это стандартизировать это, чтобы я получил внешний вид по умолчанию, который я мог бы перезаписать, когда это необходимо. Я рассматривал подклассы UIView
/ UIButton
/ UITableView
, но это не похоже на правильный способ сделать это. Добавление категорий было бы неплохо, но я не думаю, что переопределение методов по умолчанию (например, init) также было бы правильным путем.
Так. как бы вы стандартизировали свой внешний вид?