ইউআইটিএবলভিউ, সেপারেটর রঙ কোথায় সেট করবেন?


162

আমি UITableViewআইবিতে একটি যোগ করেছি এবং "ডেলিগেট" এবং "ডেটাসোর্স" সেট করেছি এবং সব ভাল চলছে। আমি পরবর্তীটি যা করতে চেয়েছিলাম সেটি হল বিভাজকের রঙ পরিবর্তন করা, তবে এটি করার একমাত্র উপায়টি আমি এই উপস্থাপনার কলব্যাকগুলির মধ্যে একটিতে পদ্ধতিটি যুক্ত করলাম, আমার কি আরও ভাল জায়গা রাখা উচিত?

এই মুহুর্তে আমার এটি নেই তবে আমি ভাবছিলাম যে আমার নিয়ামক থেকে আমার কোনও "আইভিআর" যুক্ত করা দরকার যা আমি আইবিতে লিঙ্ক করতে পারি UITableViewএবং তারপরে বিভাজকের রঙটি সেট করতে viewDidloadপারি?

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView setSeparatorColor:[UIColor blackColor]];
    return 65;
}

ভেরিয়েবল যুক্ত করা এবং এটি আইবিতে সংযুক্ত করা হ'ল আমি কীভাবে সর্বদা এটি সম্পাদন করেছি।
s1mm0t

আমি চিন্তা ছিল thats কি. আমি একটি টিউটোরিয়াল করছি যা তারা ব্যবহার করেনি এবং আইভার, তারা কেবল প্রতিনিধি এবং ডেটাসোর্স কলব্যাকের উপর নির্ভর করে। তবে তারা কখনই বিভাজকের রঙ অ্যাক্সেস করতে পারেনি তাই সম্ভবত এটি কেন।
fuzzygoat

উত্তর:


335
- (void)viewDidLoad
{
   [self.tableView setSeparatorColor:[UIColor myColor]];
}

আমি আশা করি এটি সাহায্য করে - self.মনে রাখবেন এটির অ্যাক্সেস করার জন্য আপনার প্রয়োজন হবে।

সুইফট 4.2

tableView.separatorColor = UIColor.red

হাই হেলেন, এটি কি কোনও @ প্রপার্টি যুক্ত করার প্রয়োজন ছাড়াই এটিকে অ্যাক্সেস করতে পারে, দেখে মনে হচ্ছে এটি কি করে?
fuzzygoat

1
এটা সত্য. আপনি ইউআইটিএবলভিউ কনট্রোলারকে সাবক্লাসিং করছেন যা এটি সম্পত্তি হিসাবে ঘোষণা করে। এটি অতএব সুপারক্লাসের অ্যাক্সেসর / সেটার পদ্ধতি উত্তরাধিকার সূত্রে প্রাপ্ত হয়, সুতরাং আপনি এটি অনুসারে সেট করতে পারেন। তবে আপনি সরাসরি উদাহরণ পরিবর্তনশীল অ্যাক্সেস করতে পারবেন না (সম্ভবত কোনও ভাল জিনিস)। আপনি এটি একটি প্রতিনিধি পদ্ধতিতে সেট করার কারণ হ'ল এটি বলা পদ্ধতির পরামিতি।
হেলেন

2
বা যদি আপনি পছন্দ করেন: self.tableView.separatorColor = UIColor.clearColor;
ব্রাব্রেমে

2
উত্তরের বিশেষ অংশ নয়, তবে [super viewDidLoad];কোড স্নিপেটে যুক্ত করা ভাল হবে।
টোটোকাস্টার

57

এখন আপনার সরাসরি আইবিতে এটি সক্ষম হওয়া উচিত।

যদিও নিশ্চিত নয়, যখন প্রশ্নটি মূলত পোস্ট করা হয়েছিল তখন এটি উপস্থিত ছিল।

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


24

সুইফ্ট সংস্করণ:

override func viewDidLoad() {
    super.viewDidLoad()

    // Assign your color to this property, for example here we assign the red color.
    tableView.separatorColor = UIColor.redColor()
}

1
এটি আমাকে 'separatorColor' is unavailableTVOS এ একটি ত্রুটি দেখায় ।
কলা

12

ব্যবহার করে দেখুন + + (instancetype) চেহারা UITableView সংখ্যা:

উদ্দেশ্য গ:

[[UITableView appearance] setSeparatorColor:[UIColor blackColor]]; // set your desired colour in place of "[UIColor blackColor]"

সুইফট 3.0:

UITableView.appearance().separatorColor = UIColor.black // set your desired colour in place of "UIColor.black"

দ্রষ্টব্য: পরিবর্তন প্রয়োগে ব্যবহৃত সমস্ত সারণীতে প্রতিফলিত হবে।


3

আপনি যদি কেবল প্রতিটি বিভাজককে একই রঙ সেট করতে চান এবং এটি অস্বচ্ছ হয় আপনি এটি ব্যবহার করতে পারেন:

 self.tableView.separatorColor = UIColor.redColor()

আপনি যদি বিভাজনের জন্য বিভিন্ন রঙ ব্যবহার করতে চান বা বিভাজক রঙটি সাফ করতে চান বা আলফা সহ একটি রঙ ব্যবহার করতে চান।

সাবধানতা অবলম্বন করুন: আপনাকে জানতে হবে যে বিভাজকটিতে একটি ব্যাকগ্রাউন্ড ভিউ রয়েছে যার ডিফল্ট রঙ রয়েছে।

এটি পরিবর্তন করতে আপনি এই ফাংশনগুলি ব্যবহার করতে পারেন:

    func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
        if(view.isKindOfClass(UITableViewHeaderFooterView)){
            var headerView = view as! UITableViewHeaderFooterView;
            headerView.backgroundView?.backgroundColor = myColor

           //Other colors you can change here
           // headerView.backgroundColor = myColor
           // headerView.contentView.backgroundColor = myColor
        }
    }

    func tableView(tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int) {
        if(view.isKindOfClass(UITableViewHeaderFooterView)){
            var footerView = view as! UITableViewHeaderFooterView;
            footerView.backgroundView?.backgroundColor = myColor
           //Other colors you can change here
           //footerView.backgroundColor = myColor
           //footerView.contentView.backgroundColor = myColor
        }
    }

আশা করি এটা সাহায্য করবে!


1
এটি আমাকে 'separatorColor' is unavailableTVOS এ একটি ত্রুটি দেখায় ।
কলা

3

সুইফট 3, এক্সকোড সংস্করণ 8.3.2, স্টোরিবোর্ড-> আপনার টেবিলটি চয়ন করুন দেখুন-> পরিদর্শক-> বিভাজক।

সুইফট 3, এক্সকোড সংস্করণ 8.3.2

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