2013-05-27 2 views
0

У меня есть много UITableViewControllers, и я хочу, чтобы иметь собственный цвет фона, и я не хочу, чтобы скопировать это все ТВЦ:Изменение массы UITableView фон динамически, но как?

self.tableView.backgroundColor = [UIColor clearColor]; 
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backgroundPattern.png"]]; 

Любые идеи, пожалуйста?

ответ

-1

Вы можете подклассифицировать UITableViewController своим классом, изменить цвет фона в этом классе и получить UITableViewControllers из этого.

+0

Я пробовал, но ничего не меняется. Я поместил код в метод init «// Пользовательская инициализация» и попытался в viewdidload, я тоже пару раз искал, но не повезло. – Laszlo

+0

Последнее, но не менее важное, теперь подклассы отлично работали. – Laszlo

0

Посмотрите на протокол UIAppearance. Вы можете указать цвет фона таблицы просмотров по всему миру или, если они содержатся в специальных классах вида контроллера:

UITableView *appearance = [UITableView appearanceWhenContainedIn:[MyTableViewController Class], [MyOtherTableViewController class], nil]; 
appearance.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backgroundPattern.png"]]; 

Вы можете поместить это в application:didFinishLaunchingWithOptions: методе своего приложения делегата.

Кроме того, view и tableView свойства UITableViewController указывают на одно и то же, поэтому вам не нужно устанавливать оба параметра.

EDIT

Попробуйте посмотреть 2012 WWDC видео под названием Customizing the Appearance of UIKit Controls. Они демонстрируют протокол UIAppearance, а также шаблон дизайна темы, который может вам пригодиться.

+0

У меня есть более десяти TableViewController и несколько UIViewControllers с Tableviews внутри. И тогда будет еще больше, я не думаю, что это лучший и самый динамичный способ решить эту проблему. – Laszlo

+0

Проблема, которую вы описываете, - это именно то, для чего предназначен протокол видимости, поэтому я не возражаю. Например, если все ваши таблицы имеют одинаковый цвет фона, он принимает одну строку кода. И это не статично, поэтому я не получаю «динамический» комментарий. Взгляните на документ протокола UIAppearance и, возможно, он станет более понятным. –

+0

В моем ответе добавлена ​​ссылка на WWDC. Взглянуть. –

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