প্রোগ্রামে কোনও নেভিগেশন বারের শিরোনাম কীভাবে সেট করবেন?


86

আমার কাছে একটি নেভিগেশন বার রয়েছে এবং আমি এর নেভিগেশন আইটেমের শিরোনাম প্রোগ্রামগতভাবে পরিবর্তন করতে চাই।

এটি কিভাবে হয়?

উত্তর:


206

আপনার ইউআইভিউউকন্ট্রোলারে

self.navigationItem.title = @"The title";

হ্যাঁ, আমি এটিকে বেছে নেব কারণ এটি কেবলমাত্র নেভিগেশন আইটেমের শিরোনাম আপডেট করে, সরঞ্জামদণ্ড আইটেমের শিরোনামটি নয়।
প্রকাশ রমন

30

সুইফট 3 সংস্করণ:

আপনি যদি নেভিগেশন নিয়ন্ত্রক ছাড়াই একটি নেভিগেশন বার ব্যবহার করেন, তবে আপনি এটি চেষ্টা করতে পারেন:

navigationBar.topItem?.title = "Your Title"

সাহায্য আশা করি।


11

ভিউডিডলডে

  self.title = @"Title";

4
আমার দুটি সেন্ট :) এটি কাজ করে, যদিও যদি ভেককন্ট্রোলার একটি সরঞ্জামদণ্ড নিয়ন্ত্রণকারীর অংশ হয়। তারপরে টুলবারাইটেমের শিরোনামটি আপডেট করা হবে।
প্রকাশ রমন

7

অ্যাপল ডকুমেন্টেশন থেকে :

নেভিগেশন বার ব্যবহারের সর্বাধিক সাধারণ উপায় হ'ল নেভিগেশন নিয়ামক। আপনি আপনার অ্যাপ্লিকেশনটিতে স্ট্যান্ডেলোন অবজেক্ট হিসাবে নেভিগেশন বারও ব্যবহার করতে পারেন।

সুতরাং আপনার যদি ইউআইএনএভিগেশন নিয়ন্ত্রণকারী থাকে তবে নেভিগেশন বারের শিরোনাম সেট করতে আপনাকে যা করতে হবে তা (সমস্ত পূর্ববর্তী উত্তরে ব্যাখ্যা করা হয়েছে)

self.navigationItem.title = @"title";

তবে আপনার যদি ইউআইভিউউকন্ট্রোলারের একটি অবজেক্টের মধ্যে প্রোগ্রামগতভাবে তৈরি একটি স্ট্যান্ড্যালোন নেভিগেশন বার থাকে, আপনাকে উপযুক্ত ইউআইএনএভিগেশন আইটেম অবজেক্ট তৈরি করে নেভিগেশন বারের প্রাথমিক চেহারাটি সেট করতে হবে এবং এগুলি নেভিগেশন বার অবজেক্ট স্ট্যাকের সাথে যুক্ত করতে হবে।

  1. নেভিগেশন বারের একটি উদাহরণ তৈরি করুন (ইউআইএনএভিগেশন বার)
  2. নেভিগেশন বার আইটেমের একটি উদাহরণ তৈরি করুন (ইউআইএনএভিগেশন আইটেম) যা ইউআইএনএভিগেশনবার অবজেক্টে প্রদর্শিত বোতাম এবং দর্শনগুলি পরিচালনা করে। মনে রাখবেন যে আপনি এই পদক্ষেপে শিরোনাম সেট করেছেন।
  3. (Ptionচ্ছিক পদক্ষেপ) নেভিগেশন বার আইটেমটিতে ডান / বাম বোতামগুলি (ইউআইবারবারটন আইটেমের উদাহরণ) যুক্ত করুন।

উল্লিখিত পদক্ষেপগুলির জন্য উদ্দেশ্য-সি কোডের নমুনা:

UINavigationBar* navbar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 64)];

/* Create navigation item object & set the title of navigation bar. */
UINavigationItem* navItem = [[UINavigationItem alloc] initWithTitle:self.shoppingItem.name];

/* Create left button item. */
UIBarButtonItem* cancelBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(onTapCancel:)];
navItem.leftBarButtonItem = cancelBtn;

/* Create left button item. */
UIBarButtonItem* doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(onTapDone:)];
navItem.rightBarButtonItem = doneBtn;

/* Assign the navigation item to the navigation bar.*/
[navbar setItems:@[navItem]];

/* add navigation bar to the root view.*/
[self.view addSubview:navbar];

স্ট্যান্ডেলোন নেভিগেশন বারের সুইফ্ট সংস্করণের জন্য, এই উত্তরটি দেখুন


6

নীচের কোডটি লিখুন viewDidLoadবা এর অধীনে ভাল হতে পারেinitWithNibName:

  self.navigationItem.title = @"title";

ধন্যবাদ



2

এই কোডটি আমার পক্ষে কার্যকর হয়নি

self.navigationItem.title = @"Title here";

কিন্তু এটি কাজ করে।

self.title = "Title Name"

2

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

self.navigationItem.title = "The title";  //In swift 4

বা

আপনি ঠিক করতে পারেন

self.title = "The title"

কৌতুক করবে

আপনি বিশ্বব্যাপী প্রতিলিপি করতে অ্যাপের প্রতিনিধিতে উপরের বিবৃতিটিও রাখতে পারেন।


0

ভিউডিডলড পদ্ধতিতে এটি ব্যবহার করুন

ফর্ম্যাট:

@property(nonatomic,readonly,retain) UINavigationItem *navigationItem; // Created on-demand so that a view controller may customize its navigation appearance.

উদাহরণ:

self.navigationItem.title = @"Title here";

0

খুব গুরুত্বপূর্ণ নোট: নিশ্চিত করুন যে আপনি প্যারেন্ট ভিউ কন্ট্রোলারের ভিউডিডলড পদ্ধতিতে, বা স্টোরিবোর্ডে পিতামাতার নেভিগেশন বারে উপরে উল্লিখিত পরিবর্তনগুলি করেছেন make


0

কখনও কখনও আপনি এমন একটি কেস পেতে পারেন যেখানে আপনি শিরোনাম আপডেট করছেন এবং এটি কোনও প্রভাব ফেলছে না, এটি যখন আপনার নিজস্ব কাস্টম দৃষ্টিভঙ্গি থাকে topItemতখন আপনি এটির মতো এটি আপডেট করতে চাইতে পারেন:(self.navigationController?.navigationBar.topItem?.titleView as? UILabel)?.text = "My Happy New Title"

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