У меня проблемы с созданием простого градиента для UITableView, работающего с некоторым кодом консультанта. Когда кнопка нажата, появляется всплывающее окно. Во всплывающем окне у меня есть навигационный контроллер, и его rootViewController - мой пользовательский класс. Мой класс обладает этими свойствами
@interface TargetDetailView : UIViewController <UITableViewDelegate, UITableViewDataSource>
{
CGGradientRef backgroundGradient;
UITableView *_targetTableView;
}
@property (retain, nonatomic) IBOutlet UIGradientView *backgroundView;
@property (nonatomic, retain) IBOutlet UITableView *TargetTableView;
в viewDidLoad, я делаю это:
CGColorSpaceRef gray = CGColorSpaceCreateDeviceGray();
backgroundGradient = CGGradientCreateWithColors(gray, (CFArrayRef)[NSArray arrayWithObjects:(id)[[UIColor colorWithWhite:70./255 alpha:1] CGColor], (id)[[UIColor colorWithWhite:35./255 alpha:1] CGColor], nil], nil);
CGColorSpaceRelease(gray);
[self.backgroundView setGradient:backgroundGradient];
Для моих ячеек backgroundView установлено значение [UIColor clearColor]
. Кроме того, у моего tableView в IB задан фон [UIColor clearColor]
. Однако, когда я представляю свой поповер, я не вижу градиента. В IB иерархия - это свойство класса .view, затем выход backgroundView и UITableView внутри этого представления.
Я пытался найти и другие способы устранения неполадок, например, полное избавление от градиента и размещение tableView в качестве единственного элемента в свойстве класса .view. Тогда я просто попробую self.backgroundColor = [UIColor orangeColor];
и я не вижу никаких цветов. Все выглядит серым. Что я делаю неправильно? Спасибо.