2013-08-25 6 views
-1

У меня есть приложение (XCode 4.6, раскадровки, прошивкой 6.2 и ARC) с несколькими UIViews:Невозможно установить UIView цвет фона от контроллера

enter image description here

Каждый из UIViews имеет цвет фона, определенных в XCode , Я хочу иметь возможность изменять цвет фона (в настоящее время lightYellow) на основе выбранных пользователем схем. В методе CalendarViewController в -viewDidLoad, у меня есть этот код:

self.leftGrid.backgroundColor = [UIColor blueColor]; 
[self.leftGrid setNeedsDisplay]; 

Это код в .h файле CalendarViewController в:

// these all all UIViews 
@class SubViewGrid; 
@class SubViewData; 
@class CalendarView; 
@class TopGrid; 
@class LeftGrid; 

@interface CalendarViewController : UIViewController <UIScrollViewDelegate> { 

} 

// UIScrollView properties 
@property (nonatomic, weak) IBOutlet UIScrollView *schedScrollView; 
@property (strong, nonatomic) IBOutlet UIView *topGrid; 
@property (strong, nonatomic) IBOutlet UIView *leftGrid; 
@property (strong, nonatomic) IBOutlet UIScrollView *topGridSV; 
@property (strong, nonatomic) IBOutlet UIScrollView *leftGridSV; 

Проблема заключается в том: ничего не происходит! Что я делаю не так? (Я посмотрел на SO и Googled, но не нашел ничего подходящего)

+0

Является ли LeftGrid отмеченным как IBOutlet и подключен к вашему классу в IB? – BergP

+0

Это случается, когда вид загружается? F.e in viewDidLoad :? Не в методе init – BergP

+0

Я отредактировал вопрос ... Я добавил строки @class, чтобы удалить ошибки, которые я получал довольно давно, но не уверен, что они делают, кроме предотвращения круговых ссылок ... – SpokaneDude

ответ

1

Похоже, self.leftGrid == nil в viewDidLoad. Возможно, владелец xib установлен неверно. Или связь между представлением в IB и его полем владельца.