আইফোন: নেভিগেশন বার শিরোনাম সেট করা


87

ওহে সবাই. আমি এখনও আইফোন বিকাশে বেশ নতুন, এবং আমার নেভিগেশন বারের শিরোনাম কীভাবে পরিবর্তন করতে হবে তা নির্ধারণ করতে আমি কিছুটা সমস্যায় পড়ছি। এই সাইটে অন্য প্রশ্নের উপর কেউ ব্যবহার করার পরামর্শ দিয়েছেন:

viewController.title = @"title text";

তবে এটি আমার পক্ষে কাজ করছে না ... এটি সম্পাদন করার জন্য আমাকে কি কোনও ইউআইএনএভিগেশন কন্ট্রোলার যুক্ত করা দরকার? অথবা আমার ইউআইভিউউকন্ট্রোলার সাবক্লাস থেকে কেবল একটি আউটলেট হতে পারে? যদি এটি সহায়তা করে, আমি আইবিতে নেভিগেশন বারটি সংজ্ঞায়িত করেছি এবং আমি আমার ইউআইভিউকন্ট্রোলার সাবক্লাসে এর শিরোনাম সেট করার চেষ্টা করছি। এটি সেই সাধারণ জিনিসগুলির মধ্যে একটি যা আমাকে মাথা ব্যথা করে। সেল্ট টাইটেল লাগানো = @ "শিরোনাম পাঠ্য"; ইন viewDidLoadএবং initWithNibNameকোন কাজ হয়নি। কী ঘটছে এবং কীভাবে এটি সঠিকভাবে ঘটতে হবে তা যে কেউ জানেন?

ধন্যবাদ!

উত্তর:


154

.titleসম্পত্তিটি কার্যকর হওয়ার জন্য ভিউ কন্ট্রোলার অবশ্যই কিছু ইউআইএনএভিগেশন কন্ট্রোলারের বাচ্চা হওয়া উচিত । যদি ইউআইএনএভিগেশন বারটি কেবলমাত্র একটি দৃশ্য হয় তবে আপনাকে শিরোনামযুক্ত একটি নেভিগেশন আইটেমটি চাপ দিতে হবে বা শেষ নেভিগেশন আইটেমটি সংশোধন করতে হবে:

UINavigationItem* item = [[UINavigationItem alloc] initWithTitle:@"title text"];
...
[bar pushNavigationItem:item animated:YES];
[item release];

বা

bar.topItem.title = @"title text";

8
কি দারুন. আমি ফোরাম এবং ডকুমেন্টেশনের মাধ্যমে শেষ ঘন্টাটি ব্রাউজ করার জন্য গুরুত্ব সহকারে এটি বের করার চেষ্টা করেছি এবং আমি নিজেকে নিশ্চিত করেছিলাম যে এটি এর চেয়ে জটিল হবে। এই কোডটি এত সহজ এবং আমাকে আইবিতে কোনও কিছুর পুনরায় ফিডল করতে হয়নি। পারফেক্ট! কেনিটিএম, তুমি দোলাবে। যদি আমি মনে করি, আপনি আমার এনএসডিট প্রশ্নের উত্তরও দিয়েছিলেন এবং আমাকে অভিধানের গবেষণার জন্য সেট করেছেন। আপনি এই সাইটে আমার নতুন প্রিয় ব্যক্তি। আপনার সমস্ত সহায়তার জন্য অনেক ধন্যবাদ!
আর্থার স্কিরভিন

4
আপনার মন্তব্য আমাকে হাসি এবং আশ্চর্য করে তুলেছিল: কেউ কি এখানে কখনও এসও তে বন্ধু বানিয়েছে? সাধারণত এখানে প্রত্যেকেই খুব সহায়ক তবে মনে হয় না যে কোনও মানবিক অনুভূতি প্রকাশ করা উচিত (জিজ্ঞাসাবাদক ব্যতীত তিনি যখন হতাশ
হয়েছিলেন

স্টোরিবোর্ডে সামঞ্জস্যপূর্ণ সমাধানের জন্য সোরিনের উত্তর দেখুন।
ডিভাইস 1

আপনার উত্তরের জন্য ধন্যবাদ যা সত্যই আমাকে অনেক সময় বাঁচায়। :) @kennytm
jerry_sjtu

124

আপনি যদি viewDidLoadপদ্ধতিতে কোড দ্বারা এটি সব করছেন তবে আপনার UIViewControllerকেবল যুক্ত করা উচিতself.title = @"title text";

এটার মতো কিছু:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.title = @"title";
}

আপনি চেষ্টা করতে পারেন self.navigationItem.title = @"title";

আপনার নেভিগেশন আইটেমটি নাল নয় এবং আপনি যদি নেভিগেশনবারে একটি কাস্টম ব্যাকগ্রাউন্ড সেট করে রেখেছেন তবে শিরোনামটি ছাড়া সেট করা আছে কিনা তা পরীক্ষা করে দেখুন।


@ সোরিনা, ধন্যবাদ এটি নেভিগেশন বারের শিরোনাম দেওয়ার আরও ভাল উপায়।
তীর্থ

33

ব্যবহারের সাথে একটি সমস্যা আছে self.title = @"title";

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

self.navigationItem.title = @"MyTitle";

13

আপনি যদি নাবারবার শিরোনাম পরিবর্তন করতে চান (নাবার বারের বোতামের শিরোনাম নয়!) এই কোডটি কাজ করবে।

self.navigationController.topViewController.title = @"info";

9

আপনি যদি ট্যাববার নিয়ামকের অভ্যন্তরে একটি নাবারের শিরোনাম পরিবর্তন করতে চান তবে এটি করুন:

-(void)viewDidAppear:(BOOL)animated {
    self.navigationController.navigationBar.topItem.title = @"myTitle";
}

ভিউডিডিএয়ার এটিকে কাজ করার জন্য 2 ঘন্টা চেষ্টা করার পরেও আমার জন্য কৌশলটি করেছিল। ধন্যবাদ :)
Tchelow

শীর্ষ আইটেম.টাইটেল নেভিগেশন বারের শিরোনাম হতে পারে বা নাও হতে পারে। যদি এটি কোনও ব্যাক বোতাম না রেখে শীর্ষ স্তরের স্ক্রিন হয় তবে এটি শিরোনাম সেট করবে। তবে আপনার যদি পিছনের বোতামটি থাকে তবে টপ আইটেম.টাইটেলটি আসলে পিছনের বোতামের শিরোনাম।
ব্যবহারকারী 2962499


4

আমার একটি নেভিগেশন কন্ট্রোলার ছিল একটি ট্যাববারকন্ট্রোলারে সংহত। এটি কাজ করে

self.navigationItem.title=@"title";

4

ডিফল্টভাবে নেভিগেশন কন্ট্রোলার 'টপিটেম' শিরোনাম প্রদর্শন করে

সুতরাং আপনার অ্যাডিলেগেটের আপনার ভিডিডলোড পদ্ধতিতে আপনি পারেন। আমি এটি পরীক্ষা করেছি এবং এটি কাজ করে

navController.navigationBar.topItem.title = @"Test";

2
UINavigationItem* item = [[UINavigationItem alloc] initWithTitle:@"title text"];
...
[bar pushNavigationItem:item animated:YES];
[item release];

এই কোডটি কাজ করেছে।


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

2

আপনি যদি স্টোরিবোর্ডের সাথে কাজ করছেন তবে আপনি নিয়ামকটিতে ক্লিক করতে পারেন, বৈশিষ্ট্য ট্যাবে স্যুইচ করতে পারেন এবং সেখানে শিরোনাম পাঠ্য সেট করতে পারেন।


1

আমার ধারণা আপনার একটি গতিশীল শিরোনাম প্রয়োজন তাই আপনি এটিকে আইবিতে সেট করেন না।

এবং আমি অনুমান করি আপনার ভিউকন্ট্রোলার অবজেক্টটি কি এনআইবিতে নির্দিষ্ট করা আছে?

সম্ভবত এটি আইবিতে একটি ডামি মান হিসাবে সেট করার চেষ্টা করছেন এবং তারপরে কোন নিয়ামকের ডামি মান রয়েছে তা দেখার জন্য পদ্ধতিগুলি ডিবাগ করুন - ধরে নিচ্ছেন এটি শিরোনাম হিসাবে উপস্থিত হবে ...



1

আপনার সমস্ত সুইফট-ইয়ারদের জন্য, এটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে। এটি শিরোনামটি নির্ধারণ করার জন্য একটি ছোট উপায় হিসাবে উল্লেখযোগ্যভাবে:

override public func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
  if segue.identifier == "presentLineItem" {
    print("Setting Title")
    var vc = segue.destinationViewController as! LineItemsTableViewController
    vc.navigationItem.title = "Line Item"
  }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.