আমার কাস্টমাইজড বার বোতাম আইটেমটির সাথে "সরল স্টাইল একটি নেভিগেশন আইটেমে অসমর্থিত" সতর্কতা


88

আমি একটি রাউন্ড রেক্ট বোতামটি ডান বার বোতাম আইটেমের অবস্থানে টেনে নিয়েছি এবং রাউন্ড রেক্ট বোতামে একটি চিত্র রেখেছি। "একটি নেভিগেশন আইটেমে সরল স্টাইল অসমর্থিত" সতর্কতা ব্যতীত সমস্ত কিছুই ভালভাবে কাজ করে। এমনকি যদি আমি বার্ড বোতাম আইটেমটির স্টাইলটি "বর্ডারড" তে নির্বাচন করি তবে সতর্কতা এখনও রয়েছে। এক্সকোড ৪.২ নিয়ে কী হয়েছে? আগাম ধন্যবাদ!

পুনশ্চ. আমি রাউন্ড রেক্ট বোতামের সাহায্যে অনেকগুলি বার বোতাম আইটেমগুলি কাস্টমাইজ করেছি, কিছু সময় এক্সকোড ৪.২ বার বার বোতাম আইটেমে কেবল একটি সতর্কতা দেখায়, কিছু বার সমস্ত বার বোতাম আইটেমগুলিতে সতর্কতা প্রদর্শন করে।


4
আমি এই সম্পর্কে একটি ব্লগ পোস্ট লিখেছি: blog.mosheberman.com/…
মোশে

বোতাম যুক্ত করবেন না, বার বোতাম আইটেম যুক্ত করুন। এটা আমার ভুল ছিল।
ড্যানিয়েল

উত্তর:


136

আমি স্টোরিবোর্ড ফাইলগুলিতে ম্যানুয়ালি সম্পাদনা করে এই <navigationItem>উপাদানগুলিতে বার বোতাম আইটেমগুলিতে আপত্তিজনক স্টাইল = "সরল" এন্ট্রি পেয়ে এই ত্রুটিগুলি সরিয়ে ফেলতে সক্ষম হয়েছি ।

থেকে পরিবর্তিত:

<barButtonItem key="rightBarButtonItem" style="plain" id="juB-DL-F9i">

প্রতি:

<barButtonItem key="rightBarButtonItem" id="juB-DL-F9i">

এটি সতর্কতাগুলি পরিষ্কার করেছে ... সঠিক বা ভুল।

এটি একটি মূ .় হ্যাক হতে পারে এবং বৃহত্তর উদ্বেগ হ'ল আমি এটির মূল কারণ বা সামগ্রিক নথি থেকে অদৃশ্য বার বোতাম আইটেমগুলি সরিয়ে নেই। এটি একের পর এক সমস্ত উপাদানগুলির মধ্য দিয়ে যাওয়ার পরে এবং কিছু নেভিগেশন বারগুলি খালি (শিশু ছাড়া) আবিষ্কার করার পরে এবং সম্ভবত প্রচুর পরিমাণে অনুলিপি এবং পেস্টের (সেন্টিমিটার + সি | ভি) উত্তরাধিকার এবং ডুপ্লিকেট (সেন্টিমিডি + ডি) ব্যবহার না করেই ঘটেছিল was ইন্টারফেস তৈরি করতে। যদিও উত্স কারণটি মূল কারণ নয়, তবে লক্ষণটি বার আইটেমগুলি নথিতে "আউটলাইন ভিউ" স্থির করার জন্য প্রদর্শিত হয়নি। ইন্টারফেস বিল্ডার আচরণ আমাকে মাঝে মাঝে অযৌক্তিক হিসাবে আঘাত করে এবং একটি খালি ধারক যেখানে একটি বাহ্যরেখার দৃশ্যে কিছু থাকা উচিত এটি গন্ধ। এটা এখন আমার জন্য। কখনও কখনও আপত্তিকর নোড মুছে ফেলা এবং পুনর্নির্মাণ অদ্ভুত সমস্যাগুলি সমাধান করে।

সতর্কতা: আপনি এটি চেষ্টা করার আগে আপনার স্টোরিবোর্ডগুলির ব্যাক আপ করুন ... সংস্করণ নিয়ন্ত্রণ আপনার বন্ধু ... আপনার স্টোরিবোর্ডটি পুরোপুরি হোজ্জিত হয়ে সংকলিত না হলে আমি কোনও দায় নেব না। আপনি যা পাবেন তা হ'ল "আমি আপনাকে তাই বলেছি!" আমি কয়েকবার কঠিন উপায়ে শিখেছি, কিন্তু পরিশ্রমী উত্স নিয়ন্ত্রণ আমাকে মাথা ব্যথার হাত থেকে বাঁচিয়েছে।

সম্পাদনা: কোড ব্লকগুলিতে বন্ধনী রাখুন


24
ইন্টারফেস বিল্ডারে বার্বুটোনাইটেম নির্বাচন করুন, ডানদিকে বৈশিষ্ট্য প্যানেলটি খুলুন এবং বার বোতামের আইটেমের স্টাইলকে "বর্ডারড" এ পরিবর্তন করে স্টোরিবোর্ডের ফাইলে একই ডিফ প্রয়োগ করা হয়েছে। সুতরাং এটি নিরাপদ হওয়া উচিত।
ম্যাশ

@ ম্যাস পরামর্শের জন্য ধন্যবাদ, আমি যেভাবে এটি করেছি তা সম্ভাব্য ব্যথা এবং কষ্ট সহকারে ভয়াবহভাবে ঘটেছে।
হান্টার-ওরিওননোয়ার 4'15

@ স্পেসডোগ ২ মাথা এগিয়ে যাওয়ার জন্য ধন্যবাদ। আমি এখনও আপগ্রেড করা হয়নি, তাই আমি এটিতে কোনও নিশ্চিতকরণ যুক্ত করতে পারি না। আমি যাইহোক এই পদ্ধতিটি সম্পর্কে সত্যই সতর্কতা অবলম্বন করব। আমি জানি এটি এখন পর্যন্ত অনেক লোককে সাহায্য করেছে। সময়মতো আমরা এটি দেখতে সহায়তা বন্ধ করে দেয় কিনা তা দেখতে পাব।
হান্টার-অরিওননোয়ার

4
এই সমাধানটি Xcode 7.1 এ আমার জন্য পুরোপুরি কাজ করেছিল। এছাড়াও, সোর্স কোডটি সরাসরি সম্পাদনা করার পরিবর্তে, আপনি নিজেই স্টোরিবোর্ডে এটি পরিবর্তন করতে পারেন (স্টাইলটি সরল থেকে সীমান্তে সরিয়ে নিয়ে যাওয়া) এবং style="plain"স্টোরিবোর্ড উত্স কোড থেকে ম্যানুয়ালি মুছে ফেলার মতো সঠিক ফলাফল রয়েছে । সুতরাং, আমার কাছে হান্টারের এই পরামর্শটি বৈধ বলে মনে হচ্ছে।
এরিক ভ্যান ডের নিউট

দস্তুদেবের উত্তরও দেখুন, তিনি কী কী বর্ণনা করেছেন তা সম্ভব হয়েছিল তাও আমি জানতাম না। ফাইল সম্পাদনা করে সবাইকে কিছুটা বেদনা ও কষ্ট থেকে বাঁচাতে পারে। উত্স নিয়ন্ত্রণ আপনার বন্ধুরা, সবাই নিরাপদে থাকুন। ;)
হান্টার-অরিওননোয়ার

31

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

ফাইল ব্রাউজারে স্টোরিবোর্ডে ডান ক্লিক করুন এবং নির্বাচন করুন Open As Source Code

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

উত্স কোড পৃষ্ঠাতে "সমতল" অনুসন্ধান করুন এবং একটি নেভিগেশন আইটেমের সাথে সংযুক্ত থাকা সন্ধান করুন।

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

ভিউটির নাম পেতে, অনুসন্ধান বারে "দৃশ্যের" রাখুন এবং উপরের সেই ট্যাগটিতে প্রথম বারের জন্য অনুসন্ধানের জন্য পিছনের অনুসন্ধান তীরটি ক্লিক করুনnavigationItem

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

এখানে আপনার দৃশ্যের নাম, আপনি এখন Interface Builder - Storyboardউপরে বর্ণিত ডান ক্লিক পদ্ধতিটি দিয়ে আপনার স্টোরিবোর্ডের ভিউটি পরিবর্তন করতে পারেন এবং তারপরে দৃশ মেনুতে দৃশ্য এবং এর ভিতরে থাকা বার আইটেমটি নির্বাচন করতে পারেন।

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

গুণাবলী পরিদর্শক যান এবং থেকে শৈলী পরিবর্তন PlainকরতেBordered

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


4
শীতল। পরের বার যখন এটি ঘটে তখন আমি অবশ্যই চেষ্টা করব।
হান্টার-অরিওননোয়ার

13

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


8

আপনি যদি স্টোরিবোর্ড ব্যবহার করছেন তবে সতর্কতাটি ক্লিক করুন এবং এটি আপনাকে আপত্তিকর নেভিগেশন আইটেমে নিয়ে যাওয়া উচিত (সমস্যার জন্য আমার দুটি ছিল, একজন আমাকে সেখানে নিয়ে গিয়েছিল অন্যটি তা করেনি) - শৈলী পরিবর্তন করুন এবং প্রকল্পটি সাফ করুন।

বার বাটন স্টাইল প্লেইন সেট করা আছে


উপরের এই সমস্যায় এটি আসলে আমাকে কোথাও নিয়ে যায়নি। আমি মনে করি এটিই এই বিশেষ ইস্যুটির মূল বিষয়, আইটেমটি নেভিগেটর থেকে পুরোপুরি অনুপস্থিত ছিল, তবে স্টুডবোর্ডটি খোলার মাধ্যমে মানুষকে অন্যরকমভাবে সহায়তা করতে পারলে কৌতূহল লাগবে be
হান্টার-ওরিওননোয়ার

এটি সবচেয়ে উপযুক্ত উত্তর। আমি স্টাইলটি বর্ডার্ডে পরিবর্তন করেছি।
আন্দ্রেজ

6

backBarButtonItem leftBarButtonItemএবং rightBarButtonItemহয় UINavigationItemবস্তু। কোনও styleসম্পত্তি নেই UINavigationItemতাই এটি সতর্কতার কারণ। আপনার বারবটনগুলি প্রোগ্রামক্রমে সেট করা উচিত:

আইওএস 4:  

UIButton *bt=[UIButton buttonWithType:UIButtonTypeRoundedRect];
 [bt setFrame:YourFrame];
 //[bt setImage:[UIImage imageNamed:@"backBT"] forState:UIControlStateNormal];
 [bt addTarget:self action:@selector(popViewController:) forControlEvents:UIControlEventTouchUpInside];
 UIBarButtonItem *leftButton=[[UIBarButtonItem alloc] initWithCustomView:bt];
 self.navigationItem.leftBarButtonItem=leftButton;

আইওএস 5+ এর জন্য:

ইউআইবারবারটন আইটেম রেফারেন্সের "কাস্টমাইজিং অ্যাপিয়ারেন্স" বিভাগটি পড়ুন ।


4
আমার অনেকগুলি ভিউ কন্ট্রোলার এবং বোতাম সহ উত্তরাধিকারসূত্রে প্রাপ্ত প্রকল্প রয়েছে। কোন বোতামটি সতর্কতা সৃষ্টি করছে তা বলার জন্য আমি এক্সকোডকে কোक्स করে দেখতে পাচ্ছি না। কোন ইঙ্গিত? ধন্যবাদ!
অলি

হতে পারে আপনার ভিউ কন্ট্রোলারগুলির মাধ্যমে চালিত হয়ে UIBarButtonItenStyle "সন্ধান করুন"। সাধারণত যেখানে সম্পত্তিটি ভুলভাবে সেট করা থাকে
টিমউইটিং 12'15

1

নেভিগেশন বারে রাউন্ড রেকট বোতামের পরিবর্তে ইউআইবারবারটন আইটেম ব্যবহার করার চেষ্টা করুন এবং এর জন্য একটি চিত্র সেট করুন।


তবে এটি ইউআইবারবারটন আইটেমের স্টাইলটি যা আমার প্রয়োজন তা নয়।
লু ইউয়ান

1

আমার ক্ষেত্রে এটি একটি পিছনের তীরের চিত্র ছিল যা "সমতল" এ সেট করা হয়েছিল।

ত্রুটি বার্তাটি নেভিগেশন বারের সমস্ত আইটেমকে উল্লেখ করে।


0

স্টোরিবোর্ডে আপনার সমস্ত বার বোতামগুলি সরল ব্যতীত অন্য কোনও কিছুতে সেট করার পরে আপনি নিশ্চিত হয়ে গেছেন যে আপনি গিট কমিট করছেন এবং প্রাপ্ত ডেটা মুছে ফেলবেন তা নিশ্চিত করুন। সমস্যাটি কেন ঠিক করা হচ্ছে না তা জানার চেষ্টা করে আমি চিরকাল ব্যয় করেছি এবং প্রাপ্ত ডেটা ফোল্ডারটি মুছে ফেলা আমার জন্য এটি স্থির করেছে।

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