আমি একটি রঙ-চয়নকারী টেবিল ভিউ বাস্তবায়ন করছি যেখানে ব্যবহারকারীর মধ্যে 10 টি রঙ (পণ্যের উপর নির্ভর করে) চয়ন করতে পারেন। ব্যবহারকারী অন্যান্য বিকল্পগুলিও (যেমন হার্ড ড্রাইভের ক্ষমতা, ...) নির্বাচন করতে পারেন।
সমস্ত রঙের বিকল্পগুলি তাদের নিজস্ব টেবিলভিউ বিভাগের মধ্যে রয়েছে।
আমি আসল বর্ণটি দেখিয়ে টেক্সটলবেলের বাম দিকে কিছুটা বর্গক্ষেত্র প্রদর্শন করতে চাই।
এখনই আমি একটি সাধারণ বর্গক্ষেত্র ইউআইভিউউ যুক্ত করছি, এটির মতো সঠিক পটভূমির রঙ দিন:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:RMProductAttributesCellID];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:RMProductAttributesCellID] autorelease];
cell.indentationWidth = 44 - 8;
UIView *colorThumb = [[[UIView alloc] initWithFrame:CGRectMake(8, 8, 28, 28)] autorelease];
colorThumb.tag = RMProductAttributesCellColorThumbTag;
colorThumb.hidden = YES;
[cell.contentView addSubview:colorThumb];
}
RMProductAttribute *attr = (RMProductAttribute *)[_product.attributes objectAtIndex:indexPath.section];
RMProductAttributeValue *value = (RMProductAttributeValue *)[attr.values objectAtIndex:indexPath.row];
cell.textLabel.text = value.name;
cell.textLabel.backgroundColor = [UIColor clearColor];
UIView *colorThumb = [cell viewWithTag:RMProductAttributesCellColorThumbTag];
colorThumb.hidden = !attr.isColor;
cell.indentationLevel = (attr.isColor ? 1 : 0);
if (attr.isColor) {
colorThumb.layer.cornerRadius = 6.0;
colorThumb.backgroundColor = value.color;
}
[self updateCell:cell atIndexPath:indexPath];
return cell;
}
এটি সমস্যা ছাড়াই সূক্ষ্ম প্রদর্শন করে।
আমার একমাত্র সমস্যাটি হ'ল আমি যখন "বর্ণ" সারিটি ফেইড-টু-নীল নির্বাচন অ্যানিমেশনের সময় নির্বাচন করি তখন আমার কাস্টম ইউআইভিউ (কালারথম্ব) লুকানো থাকে। এটি নির্বাচন / অবিচ্ছিন্ন অ্যানিমেশনটি শেষ হওয়ার পরে আবার দৃশ্যমান হয়, তবে এটি একটি কুৎসিত শিল্পকলা তৈরি করে।
এটি সংশোধন করার জন্য আমার কী করা উচিত? আমি কি ঠিক জায়গায় সাবভিউ inোকাচ্ছি না?
(DoSelectRowAtIndexPath- এ বিশেষ কিছু নেই, আমি কেবলমাত্র ঘরের অ্যাকসেসরিজকে একটি চেকবক্স বা কিছুতে পরিবর্তন করেছি এবং বর্তমান সূচকপথটি নির্বাচন না করা)।