এটি করার আরেকটি উপায় হ'ল UITableViewDelegate
পদ্ধতিটির প্রতিক্রিয়া willDisplayHeaderView
। পাস করা ভিউ আসলে একটি এর উদাহরণ UITableViewHeaderFooterView
।
নীচের উদাহরণটি হরফকে পরিবর্তন করে এবং শিরোনাম পাঠ্যটি উল্লম্ব এবং অনুভূমিকভাবে ঘরের মধ্যে কেন্দ্র করে। নোট করুন যে heightForHeaderInSection
সারণী দর্শন বিন্যাসে আপনার শিরোনামের উচ্চতার কোনও পরিবর্তন হতে আপনার প্রতিক্রিয়াও জানানো উচিত । (এটি হ'ল যদি আপনি এই willDisplayHeaderView
পদ্ধতিতে শিরোনামের উচ্চতা পরিবর্তন করার সিদ্ধান্ত নেন ))
তারপরে আপনি titleForHeaderInSection
বিভিন্ন বিভাগের শিরোনাম সহ এই কনফিগার করা শিরোনামটি পুনরায় ব্যবহার করার পদ্ধতিটিতে প্রতিক্রিয়া জানাতে পারেন ।
উদ্দেশ্য গ
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section {
UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view;
header.textLabel.textColor = [UIColor redColor];
header.textLabel.font = [UIFont boldSystemFontOfSize:18];
CGRect headerFrame = header.frame;
header.textLabel.frame = headerFrame;
header.textLabel.textAlignment = NSTextAlignmentCenter;
}
সুইফট ১.২
(দ্রষ্টব্য: যদি আপনার ভিউ কন্ট্রোলার কোনও এর বংশধর UITableViewController
হয় তবে এটি হিসাবে ঘোষণা করা দরকার override func
))
override func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int)
{
let header:UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView
header.textLabel.textColor = UIColor.redColor()
header.textLabel.font = UIFont.boldSystemFontOfSize(18)
header.textLabel.frame = header.frame
header.textLabel.textAlignment = NSTextAlignment.Center
}
সুইফট 3.0
এই কোডটিও নিশ্চিত করে যে আপনার হেডার ভিউটি যদি কোনও ইউআইটিবেবল ভিউহাইডারফুটারভিউ ছাড়া অন্য কিছু হয় তবে অ্যাপটি ক্রাশ না হবে:
override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
guard let header = view as? UITableViewHeaderFooterView else { return }
header.textLabel?.textColor = UIColor.red
header.textLabel?.font = UIFont.boldSystemFont(ofSize: 18)
header.textLabel?.frame = header.frame
header.textLabel?.textAlignment = .center
}