নেভিগেশন বারে ছোট শিরোনাম স্যুইচ থেকে বড় শিরোনামটি মসৃণ iOS 13 নয়, স্টিকি


11

আমার এর একটি UINavigationControllerডিফল্ট মান রয়েছে navigationBar.prefersLargeTitles = true

আমি falseযখন push একটি নতুন দৃশ্যে রূপান্তর করি তখন এটিকে DetailsViewControllerপরিবর্তন করে ( )) এ কল করতে পারি viewWillDisappear

override func viewWillDisappear(_ animated: Bool) {
   super.viewWillDisappear(animated)
   navigationController?.navigationBar.prefersLargeTitles = false
}

এখন DetailsViewControllerআমি ব্যবহার করছি willMove(to parent:)

override func willMove(toParent parent: UIViewController?) {
        navigationController?.navigationBar.prefersLargeTitles = true
}

বড় শিরোনামে ফিরে যেতে।

সংযুক্ত কিভাবে স্ন্যাপশট পালন আইওএস 13 কিভাবে সঙ্গে এরকম আইওএস 12 এরকম হয়, বিবেচনা করা আইওএস 12 সঠিক আচরণ।

আইওএস 13 :

আইওএস 13

আইওএস 12 :

আইওএস 12


.prefersLargeTitlesনেভিগেশন স্ট্যাকের কোনও বিশদ ভিউ কন্ট্রোলারটিকে চাপ দেওয়ার সময় আপনাকে কোনও পরিবর্তন করতে হবে না , এটি স্বয়ংক্রিয়ভাবে একটি ছোট শিরোনাম ব্যবহার করবে এবং তারপরে আপনি যখনই রুট ভিউ নিয়ন্ত্রকের কাছে ফিরে আসবেন তখন বড়টিতে ফিরে যাবে I
henrik-dmg

@ হেনরিক-ডিএমজি আমি নিশ্চিত নই যে এটি আগের মতো ছিল কিনা তবে আমি যদি এটি করি তবে সবকিছুই বড় শিরোনামে যায় না, আমি চেষ্টা করেছি।
মোহাম্মাদ এস

1
largeTitleDisplayModeপ্রতি . automaticএবং আপনার পছন্দসই রূপান্তর পাওয়া উচিত।
হ্যারি জে

@ হারিজে কোথায়?
মোহাম্মাদ এস

আপনার ভিউডিডলড বা নেভিগেশন কন্ট্রোলারের মধ্যেnavigationController?.navigationItem.largeTitleDisplayMode = .automatic
হ্যারি জে

উত্তর:


21

আপনি যা করছেন সবসময় ভুল ছিল। আপনার নেভিগেশন বারের জন্য একবার সেট prefersLargeTitlesকরা উচিত trueএবং এটি আর কখনও স্পর্শ করবেন না।

প্রতিটি ভিউ কন্ট্রোলার বড় শিরোনামগুলি প্রদর্শিত হওয়ায় এটি পরিবর্তনের উপায়টি হল যে ভিউ নিয়ন্ত্রণকারী পছন্দসই হওয়ার জন্য তার নিজস্ব সেট navigationItem( এটিতে viewDidLoad) সেট করে largeTitleDisplayMode। সুতরাং প্রথম উপাচার্য থাকলে .alwaysএবং দ্বিতীয়টিতে .neverসবকিছু মসৃণ হবে।


এত ভাল উত্তর! কখনই জানত না যে একই সাথে বড় এবং ছোট খেতাব পাওয়ার উপায় ছিল!
ক্যাক্পার সিজেড

0

আমার একই সমস্যা ছিল এবং দ্বিতীয় ভিউকন্ট্রোলারের স্টোরিবোর্ডে একটি নেভিগেশন আইটেম রাখতে হয়েছিল। আমার NavigationItem segue দ্বারা স্বয়ংক্রিয়ভাবে তৈরি করা হয়েছিল এবং তার prefersLargeTitleমধ্যে viewDidLoad()তৈরি করার আগে দৃশ্য হাজির সমাপ্ত করা হয় নি। স্টোরিবোর্ডে একটি নেভিগেশন আইটেম যুক্ত করা এই সমস্যাটি সমাধান করেছে এবং আমাকে prefersLargeTitleস্টোরিবোর্ডের বৈশিষ্ট্য মেনুতে সেট করার অনুমতি দিয়েছে allowed


0

আমার ক্ষেত্রে এই সমস্যাটি ভিউ কন্ট্রোলারের কাছে সেগের সময় ঘটেছিল যা এ এর ​​একটি শিশু UITabBarControllerlargeTitleDisplayModeচাইল্ড ভিউ কন্ট্রোলার সেট করা এই বাগটি ঠিক করার পক্ষে পর্যাপ্ত ছিল না।

আমি UITabBarController ঘটনাস্থলে একটি নেভিগেশন আইটেমটি যোগ এবং সেট করে সমস্যা সমাধান করা হয়েছে largeTitleDisplayModeযেমন .neverআছে।

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