আইফোন নেভিগেশন বারে 'পিছনে' বোতামটি কীভাবে আড়াল করবেন?


315

আমি আমার অ্যাপ্লিকেশনে দর্শনের মধ্যে পরিবর্তন করতে একটি নেভিগেশন নিয়ন্ত্রণ যুক্ত করেছি added তবে কিছু দর্শনে 'পিছনে' (আগের শিরোনাম) বোতামটি থাকা উচিত নয়। পিছনের বোতামটি কীভাবে আড়াল করবেন সে সম্পর্কে কোনও ধারণা?

উত্তর:


811

উদ্দেশ্য গ:
self.navigationItem.hidesBackButton = YES;

সুইফট:
navigationItem.hidesBackButton = true


@ user8170 কীভাবে নেভিগেশন বারে বাম বার্বুটোনাইটেম লুকিয়ে রাখবেন ..?
রকি

9
আপনি ব্যাকবটন লুকিয়ে রাখতে পারবেন না self.navigationItem.leftBarButtonItem = nil;। আপনি যদি বামবার্বটনাইটাইটস স্পষ্টভাবে সেট করে থাকেন তবে আপনি ব্যবহার করতে পারেন self.navigationItem.leftBarButtonItem = nil;self.navigationItem.hidesBackButton = YES;পিছনে বাটন আইটেমটি লুকিয়ে
রাখবে

1
আইওএস 7-এ, স্ব.নাভিগেশন আইটেম.ফেল্টবারবাটন আইটেম = শূন্য; ভিউডিডলড, ভিউউইলঅপায়ার, বা ভিউডিডঅ্যাপার থেকে জারি করা হলে পিছনের বোতামটি প্রভাবিত করে না। কোডের এই লাইনটি ভিউডিডলডের মধ্যে কাজ করে: self.navicationItem.hidesBackButton = হ্যাঁ;
অ্যালেক্স জাভাটোন

2
নিশ্চিত না যে এটি সাহায্য করে তবে 'স্ব' সর্বদা একটি ভিউ কন্ট্রোলার যা নেভিগেশন কন্ট্রোলারের স্ট্যাকের শীর্ষে উপস্থাপিত হচ্ছে।
কুনাল বালানী

স্ব.ব্যাভিগেশন আইটেম। হাইডস্যাকব্যাক বাটন = হ্যাঁ; আমার জন্য কাজ করুনডিউলড, আইওএস 7
লিউকোসাইমা

38

এগুলি একত্রিত করার সর্বোত্তম উপায় হ'ল এটি নিজেই সেটআপ করা সত্ত্বেও এটি পিছনের বোতামটি আড়াল করবে:

self.navigationItem.leftBarButtonItem=nil;
self.navigationItem.hidesBackButton=YES;

6
ব্যবহারকারী 716216 এর উত্তর দিতে, তিনি তার একটি বাক্য ব্যাখ্যায় এটি ব্যাখ্যা করেছেন। কোডের দ্বিতীয় লাইনটি ডিফল্ট ক্ষেত্রে কাজ করে for কোডটির প্রথম লাইনটি যদি আপনি নিজে বোতামটি তৈরি করে যোগ করেন তবে কাজ করে।
অ্যালেক্স জাভাটোন

21

বেলো কোড সহ পিছনে বোতামটি লুকান ...

[self.navigationItem setHidesBackButton:YES animated:YES];

অথবা

[self.navigationItem setHidesBackButton:YES];

এছাড়াও আপনার যদি কাস্টম থাকে UINavigationBarতবে বেলো কোডটি ব্যবহার করে দেখুন

self.navigationItem.leftBarButtonItem = nil;

যে কোনও ক্লাসে আপনি যখন এই কোডটি ব্যবহার করেছেন তখন সেই শ্রেণীর নেভিগেশনবারের পিছনের বোতামটি লুকিয়ে রাখবে ...
পরশ জোশী

6

ইন সুইফট :

এটি নিয়ামকের সাথে যুক্ত করুন

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.setHidesBackButton(true, animated: false)
}


3

ইউআইভিউউকন্ট্রোলারের ফাংশন ভিডডলড কোডটিতে কোডটি ব্যবহার করুন:

self.navigationItem.hidesBackButton = YES;

2

ভুলে যাবেন না যে আপনাকে এনভি কন্ট্রোলারযুক্ত ऑब्জেটে এটি কল করতে হবে। উদাহরণস্বরূপ, আপনি যদি রুটভিউ কনট্রোলারের সাথে একটি ট্যাব বার নিয়ামককে চাপ দিচ্ছেন, রুটভিউ নিয়ন্ত্রণকারীকে কল self.navigationItem.hidesBackButton = YESকরে কিছুই করবে না। আপনি আসলে কল করতে হবেself.tabBarController.navigationItem.hidesBackButton = YES


2

ভুলে যাবেন না যে এখন আমাদের পিছনে ইশারায় স্লাইড রয়েছে। আপনি সম্ভবত এটিও মুছে ফেলতে চান। প্রয়োজনে আবার এটিকে সক্ষম করতে ভুলবেন না।

if ([self.navigationItem respondsToSelector:@selector(hidesBackButton)]) {
    self.navigationItem.hidesBackButton = YES;
}

if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
    self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}

1

আপনার ভিউ কন্ট্রোলারে এই কোডটি যুক্ত করুন

UIView *myView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 300, 30)];
UIBarButtonItem *btnL = [[UIBarButtonItem alloc]initWithCustomView:myView];
self.navigationItem.leftBarButtonItem = btnL;

1

আমার জন্য উপরের কোনওটিই কাজ করে বলে মনে হয়নি, এর কোনও দৃশ্যমান প্রভাব নেই। আমি নেভিগেশন কন্ট্রোলারে "এমবেডেড" এমন দৃশ্যের সাথে স্টোরিবোর্ডগুলি ব্যবহার করছি।

আমি তখন কোড স্তরে আমার মেন্যু আইটেমগুলি যুক্ত করি এবং কোনও কারণে ভিউ হায়ারার্কিকে ভিজ্যুয়াল ডিবাগ করার সময় "ব্যাকবটন" দৃশ্যমান হয় এবং আমার মেনু আইটেম আইকনটি অদৃশ্য "ব্যাক বোতাম" এর নীচে প্রদর্শিত হয়।

আমি বিভিন্ন হুক পদ্ধতিতে প্রস্তাবিত হিসাবে সেটিংস চেষ্টা করেছিলাম এবং এর কোনও প্রভাব ছিল না। তারপরে আমি আরও নিষ্ঠুর পদ্ধতির চেষ্টা করেছি এবং সাবভিউটিতে পুনরাবৃত্তি করেছি যা এর কোনও প্রভাব ছিল না।

আমি আমার আইকন আকারগুলি পরিদর্শন করেছি এবং ঠিক আছে বলে উপস্থিত হয়েছিল। তিনি অ্যাপল হিউম্যান ইন্টারফেস গাইডলাইন উল্লেখ করার পরে আমি নিশ্চিত করেছি যে আমার আইকনগুলি সঠিক। (আমার ক্ষেত্রে 24 পিক্সেল 48px 72px 1 পিক্সেল ছোট)।

সবচেয়ে অদ্ভুত অংশটি হ'ল আসল স্থির ...

বারবটন আইটেম যুক্ত করার সময় এটির জন্য কমপক্ষে একটি অক্ষর সহ একটি শিরোনাম দিন , আমার ক্ষেত্রে একটি স্পেস অক্ষর।

আশা এই কাউকে সাহায্য করে।

//left menu - the title must have a space
UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " <--THE FIX 
                                                                    style:UIBarButtonItemStylePlain
                                                                  target:self
                                                                  action:@selector(showMenu)];
leftButtonItem.image = [UIImage imageNamed:@"ic_menu"];

[self.navigationItem setLeftBarButtonItem:leftButtonItem];

1

আমি সেট করার সময় এটি সব ক্ষেত্রেই আমার পক্ষে কাজ করে না

স্ব.ব্যাভিগেশন আইটেম হাইডস ব্যাকবটন = হ্যাঁ;

ভিউউইল অ্যাপয়ার বা ভিউডিডলয়েডে, তবে আমি যখন ভিউকন্ট্রোলারের মাধ্যমে এটি সেট করি তখন পুরোপুরি কাজ করে।




0
navigationItem.leftBarButtonItem = nil
navigationItem.hidesBackButton = true

আপনি যদি এই কোড ব্লকটি ডললড বা লোডভিউয়ের অভ্যন্তরে ব্যবহার করেন তবে পুরোপুরি কাজ করেননি İ যদি আপনি মনোযোগ সহকারে দেখেন তবে আপনার ভিউ লোড হওয়ার সময় পিছনের বোতামটি লুকিয়ে রয়েছে দেখতে পাবেন ook লুকানো অদ্ভুত।

সঠিক সমাধান কি?

যোগ BarButtonItem componentView থেকে উপাদান (Ctrl + করতে Shift + এল) আপনার টার্গেট viewControllers ন্যাভিগেশন বার করতে।

ডান প্যানেল থেকে বারবটন আইটেম সেট শিরোনাম = "" নির্বাচন করুন

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

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