كيفية تخصيص لون الخلفية التسمية القياسية ضمن UITableViewCell؟

StackOverflow https://stackoverflow.com/questions/403820

  •  03-07-2019
  •  | 
  •  

سؤال

وأنا أحاول لعدة ساعات الماضية لمعرفة كيفية القيام بذلك، ولكن مع عدم وجود الحظ. هناك العديد من الحلول الممكنة لهذا عند البحث جوجل، ولكن لا شيء يبدو للعمل.

وأنا أحاول أن تخصيص لون خلفية UILabel القياسي الذي يذهب في UITableViewCell (منذ I مخصصة بالفعل لون خلفية الخلية نفسها)، ولكن لا شيء يبدو أن أفعل للعمل.

وأنا خلق بلدي UILabel لتخصيص الألوان في -tableView: cellForRowAtIndexPath:

UILabel* label = [[[UILabel alloc] init] autorelease];
label.textColor = [UIColor blueColor];
label.backgroundColor = [UIColor redColor];
label.opaque = YES;
[cell.contentView addSubview:label];
cell.text = @"Sample text here";

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

وأي أدلة على ما أقوم به خطأ هنا؟

وUPDATE: إذا كنت تحاول أن تفعل ما يلي بدلا من ذلك:

UILabel* label = [[[UILabel alloc] init] autorelease];
label.textColor = [UIColor blueColor];
label.backgroundColor = [UIColor redColor];
label.opaque = YES;
[cell.contentView addSubview:label];
label.text = @"Sample text here";

وأنا الحصول على حفنة من UITableViewCells مع أي نص على الإطلاق.

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

المحلول

ويبدو أن كنت تعيين النص إلى الخلية بدلا من التسمية. ربما كنت ترغب:

label.text = @"Sample text here";

وبالإضافة إلى ذلك، سوف تحتاج إلى تعيين إطار التسمية إلى ما تحتاج:

label.frame = CGRectMake(10,10, 80, 40);

وأو مباشرة في المنشئ:

label = [[UILabel alloc] initWithFrame:myFrame];

نصائح أخرى

لم أكن لأفعل هذا في التعليمات البرمجية. أود أن تفعل ذلك مع ملف XIB مخصصة ومن ثم تحميله في الخاص بك

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath

وظيفة مندوب. وبهذه الطريقة يمكنك تصميم ملف XIB إلى المواصفات الخاصة بك بالضبط، وقرص عليه.

وحظا سعيدا!

ولقد طرحت هذا السؤال من قبل، وتلقى الإجابات الصحيحة؛

كيفية تخصيص لون خلفية UITableViewCell <؟ / أ>

scroll top