كيفية تغيير اللون الحدودي لـ UableView المجمعة
-
25-09-2019 - |
سؤال
هذا يتعلق iPhoneOS-SDK-3.2
أواجه صعوبة في تغيير اللون الحدودي لـ UableView المجمعة. يمكنني تغيير لون خلفية الخلية ، لون الفاصل ، لون النص ، بسهولة تامة الآن ، ومقطع الزوايا المستديرة بشكل صحيح ، حتى عند تسليط الضوء على أي ألوان اخترت. ومع ذلك ، لا تزال الحدود المحيطة رمادية بشكل مثير للغضب على الرغم من العديد من المحاولات المختلفة.
لقد قرأت جميع المنشورات ذات الصلة التي يمكنني العثور عليها عبر Google ، ناهيك عن Stackoverflow. لقد رأيت حل Pita البطولي لـ Mike Akers لقطع UitableViewCell - يتم حل هذه المشكلة لـ iPhoneOS 3.0 ولم يساعدني في الحدود.
لقد جربت حلًا برمجيًا وقائمًا على XIB ويوفر كلاهما نفس النتائج.
سوف أشارك النسخة البرمجية أدناه:
لديّ فئة فرعية UiviewController بدلاً من فئة فرعية UiviewController بدلاً من فئة فرعية UiLitableViewController لتكون بمثابة مندوب UitableView - لقد اخترت هذا المسار أثناء ترميزه على iPad و uitableviewController تتولى الشاشة بأكملها. طريقة LoadView من فئة UiviewController الفرعية:
- (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 لـ UitableView في iPhoneOS 3.2.
حاولت [mytableView.BackgroundView RemoveFromSuperView] و UitableView استبدلها فقط بآخر.
بدلاً من ذلك ، كان الحل الخاص بي هو إضافة:
myTableView.backgroundView.hidden = YES;