كيف أجعل UITableViewCellAccessoryDisclosureIndicator مرئيًا في خلفية سوداء؟

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

  •  05-07-2019
  •  | 
  •  

سؤال

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

في هذه الطريقة

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

لكن لا يمكنني رؤيتها إلا عندما أحدد تلك الخلية وإلا فلن تكون مرئية. وتعمل بشكل مثالي عندما تكون الخلفية بيضاء.أنا متأكد من أنني بحاجة إلى تعيين خاصية، ولكن لا أعرف أي خاصية أحتاج إلى تغييرها لجعل هذا الشيء يعمل.

شكرا لك مقدما.

هتافات.

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

المحلول

يبدو أن مؤشر الكشف عبارة عن صورة رمادية عالية ألفا، لذا فإن تراكبها على خلفية سوداء يجعلها غير مرئية.إذا كنت تريد القيام بذلك، فستحتاج إلى إضافة UIImageView الخاص بك إلى contentView الخاص بالخلية.

نصائح أخرى

لقد واجهت نفس المشكلة، وقمت فقط بإنشاء UIImageView من imageWithName الخاص بـ UIView @"AccDisclosure.png" باستخدام الرسم التالي الذي تم محاكاةه على عجل والذي يمكنك نسخه مجانًا: http://thinkingman.com/db/downloads/AccDisclosure.png (إذا قمت بالنقر فوق هذا الرابط، فمن المحتمل أنك لن ترى شيئًا، لأنها صورة بيضاء ذات خلفية شفافة، ولكن إذا قمت بحفظها وعرضها على خلفية داكنة، فسترى ألفا).

يسمح لي التعليمة البرمجية التالية بتعيين لون خلفية رأس السهم في صف الجدول:

@property (nonatomic,retain) UILabel *backgroundLabel;

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.backgroundColor = [UIColor orangeColor]; 
self.backgroundLabel = label;
[self.contentView addSubview:label];
[label release];

CGRect labelRect = CGRectOffset(contentRect,0, 0);
labelRect.size.height = contentRect.size.height - 1; // show white line
labelRect.size.width = contentRect.size.width + 50; // cover arrow tip background
backgroundLabel.frame = labelRect;    
backgroundLabel.highlightedTextColor = [UIColor whiteColor];

لقد توصلت إلى حل حيث قمت بإضافة ImageView باستخدام addSubView بالطريقة العادية، مع صورة لم تكن سوداء (في حالتي، دائرة مملوءة باللون الرمادي) في الموضع الذي يظهر فيه الملحق.

يسمح ذلك برؤية السهم مع الاحتفاظ بلون خلفية خلية الجدول داكن/أسود.

ربما لا يكون الحل الأكثر قبولًا، ولكنه يجعل السهم مرئيًا، ويتم إعلامي بنقرات الملحقات دون تصنيف فرعي أو كتابة الكثير من التعليمات البرمجية.

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