Я пытаюсь понять, как создать стандартный внешний вид в моем приложении для iphone.
Поэтому, если бы я когда-либо хотел изменить фон для UIView, я обычно делал бы что-то подобное в all моих контроллерах вида:
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) было бы правильным путем.
Итак. как бы вы стандартизировали свой внешний вид?