UITableView এর সেল হাইলাইট রঙটি সরান


110

আমি ইউটিবেলভিউ সেল নির্বাচনের ডিফল্ট নীল রঙ মুছে ফেলতে চাই। আমি সেখানে কোনও নির্বাচনের রঙ চাই না। আমি একটি কাস্টম সেল ক্লাস তৈরি করি নি। আমি তার উপর লেবেল এবং বোতাম যুক্ত করে ঘরটি কাস্টমাইজ করছি। আমি চেষ্টা করেছিলাম:

cell.selectioncolor = [UIColor clearcolor];

তবে এটি বলে যে এই পদ্ধতিটি অবমূল্যায়ন করা হয়েছে।

উত্তর:


321
cell.selectionStyle = UITableViewCellSelectionStyleNone;

মধ্যে সুইফট 4 আপডেট

cell.selectionStyle = UITableViewCell.SelectionStyle.none

অথবা

cell.selectionStyle = .none

3
আমি সেই কোডটি সেলফোরআউটিইন্টেক্সপথে রেখেছি:, এটি কি ঠিক রাখার জায়গা?
পাভরিউইস

9
@ পাওরিউয়েস, হ্যাঁ যদি আমি সঠিকভাবে মনে রাখি তবে আপনি যদি ইন্টারফেস বিল্ডার ব্যবহার করে আপনার ঘর তৈরি করেন তবে সেটির সম্পত্তি XIB এও সেট করতে পারেন
ভ্লাদিমির

4
যদি আমি এটি করি, সম্পাদনা করার সময়, এটি সেলটি নির্বাচন করে না :(
আসিফহবিব

54

এটিকে Storyboardবা নির্বাচন করুনXIB


এখানে চিত্র বর্ণনা লিখুন


7
অতিরিক্ত, আপনি ঘর নির্বাচন না করে "টেবিল ভিউ" পরিবর্তন করলে আপনাকে "টেবিল ভিউ সেল " পরীক্ষা করতে হবে।
কার্নেলজারো

2
@ পুলকিট এটি সত্য নয়। এটি কেবলমাত্র ঘরের নির্বাচনের অবস্থাটিকে অক্ষম করবে। এটিতে প্রদর্শিত ডেটা বা এটির ইন্টারঅ্যাকশন পরিচালনা করার সাথে এর কোনও সম্পর্ক নেই। আপনার কাছে সমস্ত সঠিক রেজিস্ট্রেশন সেট রয়েছে এবং অন্যান্য ফাংশনগুলি ওভাররাইড করছে না তা নিশ্চিত করে দেখুন Check
মাইকেল 14 '

এটি সম্পূর্ণ ভুল
ফ্যাটি



6

উদ্দেশ্য গ:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

অথবা

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

সুইফট 4:

self.selectionStyle = UITableViewCellSelectionStyle.none;

সুইফট 3:

cell.selectionStyle = .none

সুইফট 2:

cell.selectionStyle = UITableViewCellSelectionStyle.None

আপনি যদি কেবল স্টোরিবোর্ড / এক্সিব ব্যবহার করে এটি পরিবর্তন করতে চান তবে কেবলমাত্র সেই সেলটি নির্বাচন করুন যা আপনি "নির্বাচনের স্টাইল প্রভাব" মুছে ফেলতে চান এবং এটি "কিছুই নয়" হিসাবে সংজ্ঞায়িত করতে চান। এটি ম্যাজিকের মতোও কাজ করবে: ডি

স্টোরিবোর্ড / এক্সিব


1
সুইফট 4: সেল.স্লেশনটিস্টাইল = ইউআইটিএবলভিউসেল.ইলেকশন স্টাইল.নোন
নেভাল হাসান

5

টেবিলভিউ নির্বাচন শৈলীতে সেট করা .noneআমার অ্যাপ্লিকেশনটিতে টেবিলভিউয়ের প্রতিক্রিয়া এবং কর্মক্ষমতাকে প্রভাবিত করছে ( didSelectRowAt indexPathট্যাপগুলি দেরিতে হচ্ছে)। এই সমস্যাটির সমাধান করার জন্য আমার সমাধানটি awakeFromNib()হ'ল ঘরটি প্রথম কখন তৈরি করা হবে তা নির্বাচিত পটভূমি ভিউটি লুকানো ছিল :

selectedBackgroundView?.isHidden = true



2

এটি কি কক্ষে :

class YourCell:  UITableViewCell {
    
    override func didMoveToSuperview() {
        selectionStyle = .none
    }

    ...
}

এটা এত সহজ।


0

সুইফট 5

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
        cell.selectionStyle = .none

        return cell
    }  

0

সঠিক উত্তরটি হওয়া উচিত:

cell.selectedBackgroundView?.backgroundColor = <choose your color>

নির্বাচনের ধরণটি একটি পৃথক সম্পত্তি যা আপনি যখন .nonePLUS অন্যান্য অনাকাঙ্ক্ষিত পার্শ্ব-প্রতিক্রিয়াগুলি চান তা উত্পাদন করে সেট করে।

আপনি যদি ঘরটি হাইলাইট না করতে চান তবে তার ব্যাকগ্রাউন্ড ভিউয়ের রঙটি হাইলাইট না হওয়ার মতোই করুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.