بحاجة إلى تغيير لون تحديد عرض الجدول
سؤال
أحتاج إلى تغيير اختيار اللون الأزرق الافتراضي لعرض الجدول إلى بعض الألوان المخصصة. هل هناك اي طريقة لعمل ذلك. ساعدني
المحلول
أفضل طريقة للقيام بذلك هي مثل هذا:
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"myCellId";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
UIView *v = [[[UIView alloc] init] autorelease];
v.backgroundColor = [UIColor redColor];
cell.selectedBackgroundView = v;
}
// Set up the cell...
cell.textLabel.text = @"foo";
return cell;
}
الجزء ذي الصلة بالنسبة لك هو cell.selectedBackgroundView = v;
تعليمات. يمكنك استبدال العرض الأساسي للغاية "V" هنا بأي طريقة عرض تريدها.
نصائح أخرى
لقد صادفت هذه المشكلة أيضا في محاولة إنشاء طرق عرض خلايا محددة مخصصة للخلية المجمعة. قمت بحل هذه المشكلة من خلال إنشاء 3 أنواع من الصور لأعلى الخلية والوسط والسفلي على افتراض أن هناك خلية متوسطة.
NSString *imageFile;
if (row == 0) {
imageFile = @"highlighted_cell_top.png";
} else if (row == ([registeredDetailsKeys count] - 1)) {
imageFile = @"highlighted_cell_bottom.png";
} else {
imageFile = @"highlighted_cell_middle.png";
}
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:imageFile]];
cell.selectedBackgroundView = imageView;
ربما يكون هناك طريقة أسهل ولكني سعيد بالنتيجة.
لا أعتقد أنه يمكنك استخدام لون مخصص. ومع ذلك، يمكنك استخدام الخاصية التالية ل UimitalViewCell
@property(nonatomic) UITableViewCellSelectionStyle selectionStyle
نمط الاختيار هو ثابت PolumbleView يحدد لون الخلية عند تحديده. القيمة الافتراضية هي ayatableviewcellselstyleblue. حيث
typedef enum {
UITableViewCellSelectionStyleNone,
UITableViewCellSelectionStyleBlue,
UITableViewCellSelectionStyleGray
} UITableViewCellSelectionStyle;
يمكنك التبديل من اللون الأزرق الافتراضي إلى اللون الرمادي، أو لا يوجد اختيار ملون على الإطلاق.
تأكد من أنه بعد أن تعلن في الرأس
@property(nonatomic) UITableViewCellSelectionStyle selectionStyle
ينفذ
cell.selectionStyle = UITableViewCellSelectionStyleGray
أين UITableViewCellSelectionStyleGray
يمكن ان يكون UITableViewCellSelectionStyleNone
, UITableViewCellSelectionStyleBlue
, UITableViewCellSelectionStyleGray
.
هناك طريقة أخرى للقيام بذلك ستستمر في وجهة نظر جديدة عبر زنزانتك، مع أي لون تريده و 50٪ أو شديد. يمكنك نقل هذا العرض إلى الخلية عند الحصول على -sEtlected: الرسوم المتحركة: الاتصال. عندما أقول التحرك، يمكنك في الواقع أن يكون لديك دائما عرض أعلى خلية الخاص بك، ولكن فقط قم بتشغيل المفاتيح المخفية وعلى ما تحتاجه.