কপিরাইট এবং পেস্ট করার সম্পূর্ণ 2019 উদাহরণ
স্টোরিবোর্ডে প্রথম "গোষ্ঠীযুক্ত" সেট করুন: এটি সূচনাকালীন সময়ে ঘটতে হবে, আপনি সত্যই পরে এটি সেট করতে পারবেন না, সুতরাং স্টোরিবোর্ডে এটি মনে রাখা আরও সহজ:
পরবর্তী,
অ্যাপল বাগের কারণে উচ্চতারফোঁটাওয়ালাআইনসেকশন অবশ্যই প্রয়োগ করতে হবে ।
func tableView(_ tableView: UITableView,
heightForHeaderInSection section: Int) -> CGFloat {
return CGFloat(70.0)
}
এখনও দশ বছর ধরে একটি অ্যাপল বাগ রয়েছে - যেখানে আপনার heightForHeaderInSection
কল না থাকলে এটি কেবল প্রথম শিরোনামটি (যেমন সূচক 0) প্রদর্শন করবে না ।
সুতরাং, tableView.sectionHeaderHeight = 70
কেবল কাজ করে না, এটি ভেঙে গেছে ।
ফ্রেম সেট করা কিছুই অর্জন করে না:
ইন viewForHeaderInSection
কেবল একটি UIView তৈরি ()।
এটি অর্থহীন / ইউটিউভি (ফ্রেম ...) না থাকলে কিছুই অর্জন করে না কারণ iOS কেবল সারণির দ্বারা নির্ধারিত হিসাবে দৃশ্যের আকার নির্ধারণ করে।
সুতরাং প্রথম লাইন viewForHeaderInSection
হবে let view = UIView()
এবং এটিই আপনি ফিরে আসছেন।
func tableView(_ tableView: UITableView,
viewForHeaderInSection section: Int) -> UIView? {
let view = UIView()
let l = UILabel()
view.addSubview(l)
l.bindEdgesToSuperview()
l.backgroundColor = .systemOrange
l.font = UIFont.systemFont(ofSize: 15)
l.textColor = .yourClientsFavoriteColor
switch section {
case 0:
l.text = "First section on screen"
case 1:
l.text = "Here's the second section"
default:
l.text = ""
}
return view
}
এটাই - অন্য যে কোনও কিছুই সময় অপচয় করা।
আরেকটি "উদ্বেগজনক" অ্যাপল ইস্যু।
উপরে ব্যবহৃত সুবিধা বর্ধিতকরণটি হ'ল:
extension UIView {
// incredibly useful:
func bindEdgesToSuperview() {
guard let s = superview else {
preconditionFailure("`superview` nil in bindEdgesToSuperview")
}
translatesAutoresizingMaskIntoConstraints = false
leadingAnchor.constraint(equalTo: s.leadingAnchor).isActive = true
trailingAnchor.constraint(equalTo: s.trailingAnchor).isActive = true
topAnchor.constraint(equalTo: s.topAnchor).isActive = true
bottomAnchor.constraint(equalTo: s.bottomAnchor).isActive = true
}
}
tableView:titleForHeaderInSection:
?