Я пытаюсь создать свой собственный пользовательский UIView для заголовка сгруппированного UITableView
. Это код, с которым я играю до сих пор:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
Target *aTarget = [targetDictionary objectForKey:[NSNumber numberWithInteger:section]];
UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, self.TargetTableView.frame.size.width, 20)];
headerLabel.text = [NSString stringWithFormat:@"%@", aTarget.condition];
headerLabel.textColor = [UIColor whiteColor];
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.TargetTableView.frame.size.width, 200)];
headerView.backgroundColor = [UIColor orangeColor];
// [headerView addSubview:headerLabel];
return [headerView autorelease];
}
Пара вопросов. Для моего headerView я хотел, чтобы высота была 40, но это выглядело ТАК маленьким. Затем я изменил его на 60, и я увидел, что он не изменился вообще в моем UITableView
(я представляю эти данные в виде поповера, который, я думаю, не должен иметь значения). Так что я сделал высоту 200, чтобы посмотреть, изменится ли она, и оранжевый вид у меня крошечный. Возможно, только такой большой, как строка состояния, если это так.
Далее у меня есть UILabel
. Я хочу, чтобы это было сосредоточено на моем UIView
. Хотя, когда я показываю это, это даже не в моем UIView
. Это сверху моего первого ряда моего UITableView
. Когда я инициализирую его с CGRectMake()
, он устанавливает его в координатах родительского вида или что-то, что смещает его? Я пытался создать его там, где я хотел бы разместить его, как только я добавлю его в свой headerView.
Наконец, если я хочу добавить простой градиент фона в свой tableView, нужно ли просто установить UITableView.backgroundColor = [UIColor clearColor]
и установить ли backgroundView градиент? Потому что это тоже не похоже на работу? Я вижу только цвета по умолчанию для сгруппированного tableView. Спасибо.