ইউআইটিএবলভিউ - বিভাগের শিরোনামের রঙ পরিবর্তন করুন


331

আমি কীভাবে ইউআইটিএবলভিউতে বিভাগের শিরোনামের রঙ পরিবর্তন করতে পারি?

সম্পাদনা : ডিজে-এস দ্বারা প্রদত্ত উত্তরগুলি আইওএস 6 এবং ততোধিকের জন্য বিবেচনা করা উচিত। গৃহীত উত্তর পুরানো।


3
আমি সত্যিই নতুন আইওএস সংস্করণ সম্পাদনা প্রশংসা করি।
সুজ

উত্তর:


393

আশা করি UITableViewDelegateপ্রোটোকল থেকে এই পদ্ধতিটি আপনাকে শুরু করবে:

উদ্দেশ্য গ:

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{
  UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease];
  if (section == integerRepresentingYourSectionOfInterest)
     [headerView setBackgroundColor:[UIColor redColor]];
  else 
     [headerView setBackgroundColor:[UIColor clearColor]];
  return headerView;
}

সুইফট:

func tableView(_ tableView: UITableView!, viewForHeaderInSection section: Int) -> UIView!
{
  let headerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.bounds.size.width, height: 30))
  if (section == integerRepresentingYourSectionOfInterest) {
    headerView.backgroundColor = UIColor.redColor()
  } else {
    headerView.backgroundColor = UIColor.clearColor()
  }
  return headerView
}

আপডেট হওয়া 2017:

সুইফট 3:

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
    {
        let headerView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.bounds.size.width, height: 30))
        if (section == integerRepresentingYourSectionOfInterest) {
            headerView.backgroundColor = UIColor.red
        } else {
            headerView.backgroundColor = UIColor.clear
        }
        return headerView
    }

আপনি [UIColor redColor]যেটি UIColorপছন্দ করুন তা দিয়ে প্রতিস্থাপন করুন । আপনি এর মাত্রা সামঞ্জস্য করতে ইচ্ছুক হতে পারে headerView


17
এটি স্ব। টেবিলভিউ.সেকশনহিডারহাইট ব্যবহার করে বিভাগের শিরোনামের আকারটি সামঞ্জস্য করতে সহায়তা করতে পারে। অন্যথায়, বিভাগের শিরোনামের জন্য আপনি প্রদর্শিত পাঠ্যটি দেখতে সমস্যা হতে পারে।
টনি লেনজি

সঙ্গে কাজ করে জরিমানা [UIColor xxxColor]যখন আমি তাই ব্যবহার আমি থেকে ফটোশপ (পেতে পারেন বেশী মত একটি কাস্টম রঙ চেষ্টা অবশ্য UIColor red:green:blue:alpha:, এটা ঠিক সাদা অ্যাম আমি কিছু ভুল করছেন।?
Matej

একটি পৃথক প্রশ্ন পোস্ট করুন এবং আমরা সাহায্য করার চেষ্টা করব। উত্স কোড অন্তর্ভুক্ত করুন।
অ্যালেক্স

12
মনে রাখবেন যে এই উত্তরটি (সঠিক থাকাকালীন) কোনও সামগ্রী ছাড়াই কেবল একটি ইউআইভিউকে ফিরিয়ে দেবে।
গ্রেগ এম Krsak

7
এটি বেশ পুরানো তথ্য এবং কেবল অন্য ভিউ তৈরি করা সেরা উত্তর নয়। ধারণাটি হ'ল সঠিক ভিউ পাওয়া যায় এবং এটিতে রঙ বা আভা পরিবর্তন করা। উইলডিসপ্লেহিডারভিউ ব্যবহার করে নীচের উত্তরটি আরও ভাল পদ্ধতির।
অ্যালেক্স জাভাটোন

741

এটি একটি পুরানো প্রশ্ন, তবে আমি মনে করি উত্তরটি আপডেট করা দরকার।

এই পদ্ধতিতে আপনার নিজস্ব কাস্টম ভিউ সংজ্ঞায়িত করা এবং তৈরি করা জড়িত না। আইওএস 6 এবং এর উপরে, আপনি সহজেই সংজ্ঞাটি দিয়ে পটভূমির রঙ এবং পাঠ্যের রঙ পরিবর্তন করতে পারেন

-(void)tableView:(UITableView *)tableView 
    willDisplayHeaderView:(UIView *)view 
    forSection:(NSInteger)section

বিভাগ প্রতিনিধি পদ্ধতি

উদাহরণ স্বরূপ:

- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
{
    // Background color
    view.tintColor = [UIColor blackColor];

    // Text Color
    UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view;
    [header.textLabel setTextColor:[UIColor whiteColor]];

    // Another way to set the background color
    // Note: does not preserve gradient effect of original header
    // header.contentView.backgroundColor = [UIColor blackColor];
}

আমার পোস্টটি এখানে নেওয়া হয়েছে: https://happyteamlabs.com/blog/ios-how-to-customize-table-view-header-and-footer-colors/

সুইফট 3/4

func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int){
    view.tintColor = UIColor.red
    let header = view as! UITableViewHeaderFooterView
    header.textLabel?.textColor = UIColor.white
}

2
এটি এমনকি এসডিকে যুক্ত করা হয়েছিল আমার কোনও ধারণা ছিল না। উজ্জ্বল! একেবারে সঠিক উত্তর।
জেআরড

1
ওপি - দয়া করে এটির গ্রহণযোগ্য উত্তরটি আপডেট করুন। পুরানো পদ্ধতির চেয়ে অনেক পরিষ্কার er
কাইল Clegg

10
এটি আমার পক্ষে কাজ করছে বলে মনে হয় না। পাঠ্যের রঙটি কাজ করে তবে শিরোনামের পটভূমির জন্য রঙ নয়। আমি আইওএস 7.0.4 এ আছি
জিপল

10
user1639164, আপনি হেডার.ব্যাকগ্রাউন্ডভিউ.ব্যাকগ্রাউন্ড কালার = [ইউআইকলার ব্ল্যাক কালার] ব্যবহার করতে পারেন; শিরোনামের পটভূমির জন্য রঙিন সেট করতে।
29 慭 流 觞

2
@ কেন্ট এটি স্পষ্টতই কিছুক্ষণ হয়ে গেছে, তবে ভবিষ্যতের লোকদের জন্য header.contentView.backgroundColor = [UIColor blackColor];বিকল্পটি আপনাকে একটি অস্বচ্ছ শিরোনাম দেবে
স্পারকি রবিনসন

98

এখানে পাঠ্যের রঙ কীভাবে পরিবর্তন করা যায় তা এখানে।

UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(10, 3, tableView.bounds.size.width - 10, 18)] autorelease];
label.text = @"Section Header Text Here";
label.textColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.75];
label.backgroundColor = [UIColor clearColor];
[headerView addSubview:label];

18
ধন্যবাদ ডক্টরজি - এটি দরকারী ছিল। বিটিডাব্লু - ডাটাসোর্স দ্বারা সরবরাহিত বিদ্যমান লেবেলটি ধরে রাখতে, আমি দ্বিতীয় লাইনে এমনটি পরিবর্তন করেছি: লেবেল.টেক্সট = [টেবিলভিউ.ডেটা সোর্স টেবিলভিউ: টেবিলভিউ শিরোনামফিয়ারডাউনসার: বিভাগ]; খারাপ ফর্ম হতে পারে তবে এটি আমার পক্ষে কাজ করেছে। হতে পারে এটি অন্য কাউকে সাহায্য করতে পারে।
জেজে রোহর

1
@ জেজে এই ফর্মটি আসলে ভাল, যেহেতু আপনি একই পদ্ধতিতে কল করছেন আপনি প্রথমদিকে সারণির বিভাগের শিরোনামটি সংজ্ঞায়িত করতে ব্যবহার করবেন।
টিম

3
আমি অটোরিলেজ সরিয়ে এটিকে একটি স্পষ্ট প্রকাশে পরিবর্তন করেছি। ইউআইটিএবলভিউ বিন্যাস পদ্ধতিগুলিকে অনেক, বহুবার বলা হয়। সম্ভব হলে অটোরেলিজ ব্যবহার করা এড়িয়ে চলুন।
স্মরণে

@ হারকোনিয়ান, জমা দেওয়া উত্তর পরিবর্তনের পরিবর্তে, দয়া করে উত্তরের মন্তব্যে পরিবর্তনের প্রস্তাব দিন। এটি সম্পাদনা সহ অন্যান্য ব্যক্তির কোড পরিবর্তন করা খারাপ ফর্ম হিসাবে বিবেচিত। বানান ত্রুটি, এবং খারাপ ফর্ম্যাটিং এবং ব্যাকরণ ন্যায্য খেলা।
টিন ম্যান

1
অ্যাডসুবভিউয়ের পরিবর্তে: ইউআইএলবেল, আপনার কেবলমাত্র ইউএলাবেলটি ফোরহাইডারআইএনএসেকশনে ফিরিয়ে নেওয়া উচিত। ইউআইএলযোগ্য হ'ল একটি ইউআইভিউ ইতিমধ্যে :)
নাস বানভ

52

আপনি যদি কাস্টম রঙের সাথে শিরোনাম চান তবে এটি করতে পারেন:

[[UITableViewHeaderFooterView appearance] setTintColor:[UIColor redColor]];

এই সমাধানটি আইওএস 6.0 থেকে দুর্দান্ত কাজ করে।


1
এইচএম ... এটি আমার পক্ষে কাজ করে না। আইওএস 6 সিমুলেটর এবং আইওএস 7 ডিভাইস চেষ্টা করেছে। আপনি কি এইভাবে পরীক্ষা করেছেন? আমি এটি কোথায় রাখব?
ম্যাক্সিম খোলিয়াভকিন

এটি প্রয়োগে করা যেতে পারে: didFinishLaunchingWithOptions: অ্যাপ্লিকেশন প্রতিনিধি পদ্ধতি।
লেসেক জারনা

আমার দোষ: পরিবর্তন পাঠ্যের রঙ এই পথ ব্যবহার করা উচিত: আমি UITableViewStyleGrouped BTW যখন এই ভাবে ব্যবহার করার চেষ্টা stackoverflow.com/a/20778406/751932
বচন Kholyavkin

এটি যদি কাস্টম ইউআইভিউতে থাকে তবে কেবল এটি - ডিডি পদ্ধতিতে রেখে দিন।
felixwcf

31

নিম্নলিখিত সমাধানটি আইওএস 8+ এর সাথে সুইফট 1.2 এর জন্য কাজ করে

override func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {

    // This changes the header background
    view.tintColor = UIColor.blueColor()

    // Gets the header view as a UITableViewHeaderFooterView and changes the text colour
    var headerView: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView
    headerView.textLabel.textColor = UIColor.redColor()

}

22

ইউআইটিএবল ভিউহাইডারফুটারভিউতে ব্যাকগ্রাউন্ডের রঙ সেট করা অবচিত করা হয়েছে। contentView.backgroundColorপরিবর্তে ব্যবহার করুন।


21

এই প্রতিনিধিটির কাছ থেকে কোডের টুকরোটি যুক্ত করতে ভুলবেন না বা আপনার ভিউ / লেবেলের উচ্চতার তুলনায় আপনার ভিউটি কেটে দেওয়া বা টেবিলের পিছনে উপস্থিত হবে behind

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    return 30;
}

আপনি যদি iOS6 অনুসরণ করেন এবং পরে ডিজে এস-এর উত্তর দিয়ে থাকেন তবে এটি আর দরকার নেই
বিজিন্স

21

আপনি এটি প্রায় 2 সেকেন্ডের মধ্যে মেইন স্টোর বোর্ডে করতে পারেন।

  1. সারণী দর্শন নির্বাচন করুন
  2. বৈশিষ্ট্য পরিদর্শকের কাছে যান
  3. তালিকাবদ্ধ
  4. সাবহেডিং দেখতে নীচে স্ক্রোল করুন
  5. পটভূমি পরিবর্তন"

এখানে দেখুন


18

আপনি যদি কোনও কাস্টম ভিউ তৈরি করতে না চান তবে আপনি এর মতো রঙও পরিবর্তন করতে পারেন (আইওএস 6 প্রয়োজন):

-(void) tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section {
    if ([view isKindOfClass: [UITableViewHeaderFooterView class]]) {
        UITableViewHeaderFooterView* castView = (UITableViewHeaderFooterView*) view;
        UIView* content = castView.contentView;
        UIColor* color = [UIColor colorWithWhite:0.85 alpha:1.]; // substitute your color here
        content.backgroundColor = color;
    }
}

13

বিভাগের ক্ষেত্রের ব্যাকগ্রাউন্ড এবং পাঠ্য রঙ সেট করুন: (আপনাকে ধন্যবাদ William Jockuschএবং Dj S)

- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
{
    if ([view isKindOfClass: [UITableViewHeaderFooterView class]]) {
        UITableViewHeaderFooterView* castView = (UITableViewHeaderFooterView*) view;
        castView.contentView.backgroundColor = [UIColor grayColor];
        [castView.textLabel setTextColor:[UIColor grayColor]];
    }
}

13

সুইফট 4

পটভূমির রঙ পরিবর্তন করতে , পাঠ্য লেবেল রঙ এবং কোনও ইউআইটিএবলভি বিভাগের শিরোনাম দর্শনটির জন্য ফন্ট , কেবল willDisplayHeaderViewআপনার টেবিল দর্শনের জন্য কেবল ওভাররাইড করুন:

override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
        let header = view as! UITableViewHeaderFooterView
        header.backgroundView?.backgroundColor = .white
        header.textLabel?.textColor = .black
        header.textLabel?.font = UIFont(name: "Helvetica-Bold", size: 14)
} 

এটি আমার জন্য পুরোপুরি কাজ করেন; আশা করি এটি আপনাকেও সাহায্য করবে!


ইউআইটিএবল ভিউহাইডারফুটারভিউতে ব্যাকগ্রাউন্ডের রঙ সেট করা অবচিত করা হয়েছে। পরিবর্তে আপনার পছন্দসই পটভূমির রঙের সাথে ব্যাকগ্রাউন্ডভিউ বৈশিষ্ট্যে কাস্টম ইউআইভিউ সেট করতে হবে set
মোজতাবা আল মুসাওবি

10

হেডার ভিউতে কীভাবে একটি চিত্র যুক্ত করা যায় তা এখানে:

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{
    UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)] autorelease];
    UIImageView *headerImage = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"top-gery-bar.png"]] autorelease];

    headerImage.frame = CGRectMake(0, 0, tableView.bounds.size.width, 30);

    [headerView addSubview:headerImage];

    return headerView;
}

8

আইওএস 8 (বিটা) এবং সুইফ্টের জন্য আপনি যে আরজিবি রঙ চান তা চয়ন করুন এবং এটি ব্যবহার করে দেখুন:

override func tableView(tableView: UITableView!, viewForHeaderInSection section: Int) -> UIView! {
    var header :UITableViewHeaderFooterView = UITableViewHeaderFooterView()

    header.contentView.backgroundColor = UIColor(red: 254.0/255.0, green: 190.0/255.0, blue: 127.0/255.0, alpha: 1)
    return header

}

("ওভাররাইড" সেখানে রয়েছে যেহেতু আমি আমার প্রকল্পের সাধারণ ইউআইভিউউকন্ট্রোলারের পরিবর্তে ইউআইটিএবলভিউ কনট্রোলার ব্যবহার করছি, তবে বিভাগের শিরোনামের রঙ পরিবর্তন করার জন্য এটি বাধ্যতামূলক নয়)

আপনার শিরোনামের পাঠ্যটি এখনও দেখা যাবে। মনে রাখবেন যে আপনাকে বিভাগের শিরোনামের উচ্চতা সামঞ্জস্য করতে হবে।

শুভকামনা


6

সুইফট 2

আমি একটি যুক্ত ঝাপসা প্রভাব (যা সত্যিই দুর্দান্ত) এর সাথে বিভাগের পটভূমির রঙ সফলভাবে পরিবর্তন করতে সক্ষম হয়েছি। বিভাগের পটভূমি সহজেই পরিবর্তন করতে:

  1. প্রথমে স্টোরিবোর্ডে যান এবং সারণী দেখুনটি নির্বাচন করুন
  2. বৈশিষ্ট্য পরিদর্শকের কাছে যান
  3. তালিকাবদ্ধ
  4. দেখার জন্য নীচে স্ক্রোল করুন
  5. পটভূমি পরিবর্তন"

তারপরে অস্পষ্ট প্রভাবের জন্য কোডটিতে যুক্ত করুন:

override func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {

    // This is the blur effect

    let blurEffect = UIBlurEffect(style: .Light)
    let blurEffectView = UIVisualEffectView(effect: blurEffect)

    // Gets the header view as a UITableViewHeaderFooterView and changes the text colour and adds above blur effect
    let headerView: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView
    headerView.textLabel!.textColor = UIColor.darkGrayColor()
    headerView.textLabel!.font = UIFont(name: "HelveticaNeue-Light", size: 13)
    headerView.tintColor = .groupTableViewBackgroundColor()
    headerView.backgroundView = blurEffectView

}

5

আমি এর উত্তর জানি, সেক্ষেত্রে সুইফটে নিম্নলিখিতটি ব্যবহার করুন

    override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let tableViewWidth = self.tableView.bounds

        let headerView = UIView(frame: CGRectMake(0, 0, tableViewWidth.size.width, self.tableView.sectionHeaderHeight))
        headerView.backgroundColor = UIColor.greenColor()

        return headerView
    }


4

@ ডিজে এস উত্তরের উপর ভিত্তি করে, সুইফট 3 ব্যবহার করে এটি আইওএস 10 এ দুর্দান্ত কাজ করে।

func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
    // Background color
    view.tintColor = UIColor.black

    // Text Color
    let headerView = view as! UITableViewHeaderFooterView
    headerView.textLabel?.textColor = UIColor.white
}

3

আমার আইওএস x.x এ স্ট্যাটিক টেবিল ভিউ সেলগুলি ব্যবহার করে একটি প্রকল্প আছে। উইলডিসপ্লেহিডারভিউ আগুন দেয় না। তবে, এই পদ্ধতিটি ঠিক কাজ করে:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    NSLog(@"%s", __FUNCTION__);
    CGRect headerFrame = CGRectMake(x, y, w, h);    
    UIView *headerView = [[UIView alloc] initWithFrame:headerFrame];  
    headerView.backgroundColor = [UIColor blackColor];

3
 -(void) tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view
  forSection:(NSInteger)section
  {
        if ([view isKindOfClass: [UITableViewHeaderFooterView class]])
        {
             UITableViewHeaderFooterView *castView = (UITableViewHeaderFooterView *) view;
             UIView *content = castView.contentView;
             UIColor *color = [UIColor whiteColor]; // substitute your color here
             content.backgroundColor = color;
             [castView.textLabel setTextColor:[UIColor blackColor]];
        }
 }

3

আমি মনে করি এই কোডটি এতটা খারাপ নয়।

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let headerView = tableView.dequeueReusableHeaderFooterViewWithIdentifier(MyHeaderView.reuseIdentifier) as MyHeaderView
    let backgroundView = UIView()
    backgroundView.backgroundColor = UIColor.whiteColor()
    headerView.backgroundView = backgroundView
    headerView.textLabel.text = "hello"
    return headerView
}

3

সুইফট 4 এটি খুব সহজ করে তোলে। এটি কেবল আপনার শ্রেণিতে যুক্ত করুন এবং প্রয়োজনীয় রঙটি সেট করুন।

override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
        view.backgroundColor = UIColor(red: 0.094, green: 0.239, blue: 0.424, alpha: 1.0)
    }

বা যদি একটি সাধারণ রঙ

override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
        view.backgroundColor = UIColor.white
    }

সুইফট 5-এর জন্য আপডেট হয়েছে

override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
        view.tintColor = UIColor(red: 0.094, green: 0.239, blue: 0.424, alpha: 1.0)
    }

বা যদি একটি সাধারণ রঙ

override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
        view.tintColor = UIColor.white
    }

1
এটি iOS 13 এ আর কাজ করবে না বলে মনে হচ্ছে
গ্যারিস্যাবো

4
আইওএস 13 এ "ভিউ.ব্যাকগ্রাউন্ড কালার" কে "ভিউ.টিন্ট কালার" এ প্রতিস্থাপন করুন।
বোগদান রাজওয়ান

2

আইওএস 7.0.4 এ আমি নিজের এক্সআইবি দিয়ে একটি কাস্টম শিরোনাম তৈরি করেছি। এখানে কাজ করার আগে এখানে কিছুই উল্লেখ করা হয়নি। এটির সাথে কাজ করার জন্য এটি ইউআইটিবেবল ভিউহাইডারফুটারভিউয়ের সাবক্লাস হতে হয়েছিল dequeueReusableHeaderFooterViewWithIdentifier:এবং মনে হয় যে ব্যাকগ্রাউন্ডের রঙ সম্পর্কিত ক্লাসটি খুব জেদী। সুতরাং অবশেষে আমি কাস্টমব্যাকগ্রুডভিউ নামের সাথে একটি ইউআইভিউ (আপনি কোড বা আইবি দিয়ে এটি করতে পারলেন) যুক্ত করেছিলাম এবং তারপরে এটির পটভূমির বর্ণ সম্পত্তি সেট করেছিলাম। লেআউটসুবভিউগুলিতে: আমি সেই দৃশ্যের ফ্রেমটিকে সীমানায় সেট করেছি। এটি আইওএস 7 এর সাথে কাজ করে এবং কোনও গ্লিট দেয় না।

// in MyTableHeaderView.xib drop an UIView at top of the first child of the owner
// first child becomes contentView

// in MyTableHeaderView.h
@property (nonatomic, weak) IBOutlet UIView * customBackgroundView;

// in MyTableHeaderView.m
-(void)layoutSubviews;
{
    [super layoutSubviews];

    self.customBackgroundView.frame = self.bounds;
}
// if you don't have XIB / use IB, put in the initializer:
-(id)initWithReuseIdentifier:(NSString *)reuseIdentifier
{
    ...
    UIView * customBackgroundView = [[UIView alloc] init];
    [self.contentView addSubview:customBackgroundView];
    _customBackgroundView = customBackgroundView;
    ...
}


// in MyTableViewController.m
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    MyTableHeaderView * header = [self.tableView
                                          dequeueReusableHeaderFooterViewWithIdentifier:@"MyTableHeaderView"];
    header.customBackgroundView.backgroundColor = [UIColor redColor];
    return header;
}

2

কেবল শিরোনাম দর্শনের স্তরটির রঙ পরিবর্তন করুন

- (ইউআইভিউ *) টেবিল ভিউ: (ইউআইটিএলভিউ *) টেবিলভিউ ভিউফোর্ড হিডারআইনসেকশন: (এনএসআইন্টার) বিভাগ 
{
  ইউআইভিউ * হেডারভিউ = [[[ইউআইভিউ বরাদ্দ] initWithFrame: সিজিআরেক্টমেক (0, 0, টেবিলভিউ.বাউন্ডস.উইথ, 30)] অটোরেলিজ];
 হেডারভিউ.লেয়ার.ব্যাকগ্রাউন্ড কালার = [ইউআইকলার ক্লিয়ার কালার] .সিজি কালার
}


2

কারও যদি দ্রুত প্রয়োজন হয়, শিরোনাম রাখুন:

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let view = UIView(frame: CGRect(x: 0,y: 0,width: self.tableView.frame.width, height: 30))
    view.backgroundColor = UIColor.redColor()
    let label = UILabel(frame: CGRect(x: 15,y: 5,width: 200,height: 25))
    label.text = self.tableView(tableView, titleForHeaderInSection: section)
    view.addSubview(label)
    return view
}

2

আমি কনসোল লগের মাধ্যমে এক্সকোড থেকে বার্তা পেয়েছি

[টেবিলভিউ] ইউআইটিএবলভিউহাইডারফুটারভিউতে ব্যাকগ্রাউন্ড রঙ সেট করা হ্রাস করা হয়েছে। পরিবর্তে ব্যাকগ্রাউন্ডভিউ বৈশিষ্ট্যে আপনার পছন্দসই পটভূমির রঙের সাথে একটি কাস্টম ইউআইভিউ সেট করুন।

তারপরে আমি কেবল একটি নতুন ইউআইভিউ তৈরি করেছি এবং এটিকে হেডারভিউয়ের পটভূমি হিসাবে রেখেছি। কোনও ভাল সমাধান নয় তবে এক্সকোড যেমন বলেছে তেমন সহজ।


2

আমার ক্ষেত্রে এটি এটির মতো কাজ করেছে:

let headerIdentifier = "HeaderIdentifier"
let header = self.tableView.dequeueReusableHeaderFooterView(withIdentifier: headerIdentifier)
header.contentView.backgroundColor = UIColor.white

2

ব্যাকগ্রাউন্ড ভিউটির ব্যাকগ্রাউন্ড রঙটি সেট করুন:

func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int){         
  let tableHeader = view as! UITableViewHeaderFooterView        
  tableHeader.backgroundView?.backgroundColor = UIColor.white     
}

1

রুবিমোশন / রেডপোশন দিয়ে এটি আপনার টেবিলস্ক্রিনে পেস্ট করুন:

  def tableView(_, willDisplayHeaderView: view, forSection: section)
    view.textLabel.textColor = rmq.color.your_text_color
    view.contentView.backgroundColor = rmq.color.your_background_color
  end

একটি যাদুমন্ত্র মত কাজ করে!


1

সুইফ্ট 5 + এর জন্য

ইন willDisplayHeaderViewপদ্ধতি

func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {

     //For Header Background Color
     view.tintColor = .black

    // For Header Text Color
    let header = view as! UITableHeaderFooterView
    header.textLabel?.textColor = .white
}

এটি তোমাকে সাহায্য করবে বলে আশা করি :]


0

যদিও func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int)পাশাপাশি কাজ করবে, আপনি অন্য প্রতিনিধি পদ্ধতিটি প্রয়োগ না করে এটিকে অর্জন করতে পারেন। আপনার func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?পদ্ধতিতে, আপনি যা ব্যবহার করছেন view.contentView.backgroundColor = UIColor.whiteতার পরিবর্তে ব্যবহার করতে পারেন view.backgroundView?.backgroundColor = UIColor.white। (আমি জানি এটি backgroundViewalচ্ছিক, তবে এটি উপস্থিত থাকা সত্ত্বেও, এটি বাস্তবায়ন না করে জাগ্রত হয় নাwillDisplayHeaderView

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