Как изменить цвет границы сгруппированного UiableView
-
25-09-2019 - |
Вопрос
Это касается iPhoneos-SDK-3.2
Я испытываю трудности изменить цвет границы сгруппированного UiableView. Я могу изменить цвет фона клеток, цвет сепаратора, цвет текста, вполне легко сейчас, и закругленные углы клиппируются правильно, даже когда вы подчеркиваются любыми цветами, которые я выбрал. Однако окружающая граница остается беганно серой, несмотря на многие разные попытки.
Я прочитал все соответствующие сообщения, которые я могу найти через Google, не говоря уже о стойке. Я видел героическое решение PITA Mike Akers для UiableViewCell - эта проблема решается для iPhoneOS 3.0, и она не помогла мне с границей.
Я попробовал как программное, так и на основе XIB, и оба обеспечивают те же результаты.
Я поделись программной версией ниже:
У меня есть подкласс UIViewController, а не подкласс UiableViewController, который будет действовать в качестве делегата UiableView - я выбрал этот маршрут, когда я кодирующую на iPad и UiableViewController, как сообщается, берет на себя все экран. Метод LoadView My UiviewController Subclass:
- (void) loadView {
self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
[self.view release];
self.view.backgroundColor = [UIColor blackColor];
// add and configure UITableView
CGRect tableViewRect = CGRectMake(0., 0., 256., 768.);
myTableView = [[UITableView alloc] initWithFrame:tableViewRect style:UITableViewStyleGrouped];
// set the tableview delegate to this object and the datasource to the datasource which has already been set
myTableView.delegate = self;
myTableView.dataSource = self;
myTableView.sectionIndexMinimumDisplayRowCount = 1;
myTableView.backgroundColor = [UIColor clearColor];
myTableView.separatorColor = [UIColor whiteColor];
myTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
myTableView.opaque = NO;
// add the table view to our background view
[self.view addSubview:myTableView];
[myTableView release];
}
Решение
Я нашел решение. Такое поведение, по-видимому, является iPhoneOS 3.2, специфичным, как Apple добавил свойство BackgroundView для UiableView в iPhoneos 3.2.
Я попробовал [MyTableView.backgroundView RemoveFromsuperview] и UiableView просто заменил его другим.
Вместо этого мое решение было добавить:
myTableView.backgroundView.hidden = YES;