আমি আমার অ্যাপ্লিকেশন, যা মডিফাই এ একটি কাস্টম গৌণ নিয়ামক সেটআপ আছে navigationBar
গুলি titleTextAttributes
, tintColor
এবং বিভিন্ন পরিস্থিতিতে উপর নির্ভর করে অন্যদের।
আইওএস 13 এ অ্যাপটি চালনা করে backBarButtonItem
তীরটিতে ডিফল্ট নীল রঙের রঙ ছিল। ভিউ ডিবাগারটি দেখিয়েছে যে কেবলমাত্র UIBarButtonItem
এস এর UIImageView
কাছে এই নীল রঙ আছে।
আমি যা করতে পেরেছি navigationBar.tintColor
তা রঙ পরিবর্তন করার জন্য দু'বার সেট করেছে ...
public class MyNavigationController: UINavigationController, UINavigationControllerDelegate {
public var preferredNavigationBarTintColor: UIColor?
override public func viewDidLoad() {
super.viewDidLoad()
delegate = self
}
public func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
// if you want to change color, you have to set it twice
viewController.navigationController?.navigationBar.tintColor = .none
viewController.navigationController?.navigationBar.tintColor = preferredNavigationBarTintColor ?? .white
// following line removes the text from back button
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
}
সমাধানের সন্ধান করার সময় সবচেয়ে অদ্ভুত অংশটি ছিল বেমানান ফলাফল, যা আমাকে তার জীবনচক্র এবং / অথবা উপস্থিতির অ্যানিমেশন বা এক্সকোড ক্যাশে দেখার সাথে সম্পর্কিত মনে করে তোলে :)