سؤال

أحتاج إلى تغيير اختيار اللون الأزرق الافتراضي لعرض الجدول إلى بعض الألوان المخصصة. هل هناك اي طريقة لعمل ذلك. ساعدني

هل كانت مفيدة؟

المحلول

أفضل طريقة للقيام بذلك هي مثل هذا:

// 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: الرسوم المتحركة: الاتصال. عندما أقول التحرك، يمكنك في الواقع أن يكون لديك دائما عرض أعلى خلية الخاص بك، ولكن فقط قم بتشغيل المفاتيح المخفية وعلى ما تحتاجه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top