ইউআইএনএভিগেশন কন্ট্রোলার নেভিগেশন বার ছাড়া?


117

আমার একটি সর্বজনীন অ্যাপ রয়েছে এবং আইপ্যাড সংস্করণে আমি UISplitViewControllerমেল অ্যাপ্লিকেশনের অনুরূপ একটি ইন্টারফেস তৈরি করতে ব্যবহার করছি ।

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

আমি আইবিতে "শো নেভিগেশন বার" আনচেক করার চেষ্টা করেছি এবং সেটিংয়ের চেষ্টাও করেছি:

[self.navigationController setNavigationBarHidden:YES];

মধ্যে viewDidLoad/ viewDidAppear/ viewWillAppear। আমি এটি প্রতিটি দৃশ্যেও চেষ্টা করেছি যা ঠেলাঠেলি করা হবে। কিছুই কাজ করে না।

আমি এখানে কি অনুপস্থিত কিছু আছে? UINavigationControllerএকটি সরঞ্জামদণ্ড বা নেভিগেশন বার ছাড়া একটি থাকা সম্ভব ?


ক্লাসের সুপারক্লাস কোনটি selfউদাহরণস্বরূপ?

উত্তর:


192

আপনার নিম্নলিখিতগুলি করতে সক্ষম হবেন:

self.navigationController.navigationBar.isHidden = true //Swift 5

যেখানে self.navicationController (স্পষ্টতই) ইউআইএনএভিগেশন কন্ট্রোলারের একটি উদাহরণ। আমার জন্য কাজ করে মনে হচ্ছে, তবে আমি এটি পোস্ট করার আগে কেবল সংক্ষেপে এটি পরীক্ষা করেছি।


2
সুতরাং, আপনার ক্ষেত্রে, স্ব.নাভিগেশন কন্ট্রোল.আরভিগেশনবার শিট করুন = হ্যাঁ;
আশ্বিন

4
এটা এটা! যদিও আমি যুক্ত করব যে আমি কোডের মাধ্যমে না করে কেবল আইবিতে নাগিভিশন সরঞ্জামদণ্ডের জন্য লুকানো বাক্সটি চেক করতে সক্ষম হয়েছি। ধন্যবাদ!
ডুমোমানিয়াক

1
হ্যাঁ, দুঃখিত। আমার উচিত ছিল আপনি আইবি ব্যবহার করছেন এবং কোড ব্যবহার না করে লুকানো বাক্সটি উল্লেখ করেছেন on আমি সম্প্রতি আমার সমস্ত ইন্টারফেসগুলি .xib ফাইল ছাড়াই পুরোপুরি প্রোগ্রামগতভাবে তৈরি করার এক কিকিতে গিয়েছিলাম, সুতরাং আমার উত্তরের জন্য সোজা সেই দিকে চলে গেলাম।
আশ্বিন

5
আমি এটিকে আমার মতামত নিয়ামক হিসাবে এইভাবে ভিউইলপিয়ারে রেখেছি - (void)viewWillAppear:(BOOL)animated { self.navigationController.navigationBar.hidden = YES; } এবং এটি কাজ করে
আলী

2
নাভিবারটি লুকানো আছে তবে আমার দৃশ্যের নিয়ামক স্ক্রিনটি পুরো স্ক্রিনে প্রসারিত হবে না
আর্দেনদেভ

40

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

self.navigationController.navigationBarHidden = YES;

এটি আপনাকে এর মতো ফলাফল দেয়:

এখানে চিত্র বর্ণনা লিখুন

যেখানে self.navigationController.navigationBar.hidden = YES;আপনি একটি স্থান যেখানে navigationBar হওয়া উচিত দেয়। এটার মত:

এখানে চিত্র বর্ণনা লিখুন


আইওএস with এর সাথে ফলাফলের পার্থক্যের বিষয়ে খুব সুন্দর পার্থক্য I আইওএস 7 অনুসারে, স্পেসটি সরিয়ে ফেলা হয়েছে বলে মনে হচ্ছে, তবে আমি আরও লোকের ক্ষেত্রে অপেক্ষা করব যা সে ক্ষেত্রে রয়েছে।
অ্যালেক্স জাভাটোন

39

এক্সকোডে ৪.৩.২:

  1. স্টোরিবোর্ডে নেভিগেশন নিয়ন্ত্রক নির্বাচন করুন
  2. (ডান) ইউটিলিটিস প্যানেলে অ্যাট্রিবিউট ইন্সপেক্টর নির্বাচন করুন
  3. নেভিগেশন নিয়ন্ত্রক বিভাগের অধীনে আপনার কাছে দুটি চেক বাক্স রয়েছে:

    [] নেভিগেশন বার দেখায়

    [] সরঞ্জামদণ্ড দেখায়

আমার জন্য কাজ ...


8

সুইফট 4

আমি এটিকে ভিউউইল অ্যাপে লুকিয়ে রেখেছি

     override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        self.navigationController?.isNavigationBarHidden = true;
    }

তারপরে আপনি যখন কোনও সিগ চাপুন তখন আপনি এটি আবার রাখতে পারেন (যদি আপনি পরবর্তী দৃশ্যে পিছনের বোতামটি রাখতে চান)

     override func prepare(for segue: UIStoryboardSegue, sender: Any?) 
     {
        self.navigationController?.isNavigationBarHidden = false;
     }

3

প্রোগ্রাম্টিকভাবে সুইফট 3

self.navigationController.isNavigationBarHidden = true

অথবা

self.navigationController.navigationBar.isHidden = true

দ্রষ্টব্য: আমি iOS 10 এ পরীক্ষার এই দুটি পদ্ধতির মধ্যে কোনও পার্থক্য দেখতে পাইনি।


1

এই সমস্ত উত্তরগুলি এখনও স্থিতি দণ্ডের জন্য শীর্ষে একটি স্থান রেখে যায় - এটিকে সরাতে এই লাইনটি যুক্ত করুন:

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