আইওএস 7-এ আমার দর্শন সীমার উপরে স্থিতি দণ্ড এবং নেভিগেশন বার প্রদর্শিত হবে


435

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

ইন viewDidLayoutSubviews, আমি দর্শন সীমানা মুদ্রণ:

{{0, 0}, 320, 568}

আমার সামগ্রীতে ফলাফলগুলি নেভিগেশন বার এবং স্থিতি দণ্ডের নীচে উপস্থিত হবে।

আমি জানি আমি মূল পর্দার উচ্চতা পেয়ে, স্ট্যাটাস বারের উচ্চতা এবং নেভিগেশন বারের উচ্চতা বিয়োগ করে নিজেই উচ্চতার জন্য অ্যাকাউন্ট করতে পারি, তবে এটি অপ্রয়োজনীয় অতিরিক্ত কাজের মতো বলে মনে হয়।

আমি কীভাবে এই সমস্যাটি সমাধান করতে পারি?

হালনাগাদ:

আমি এই নির্দিষ্ট সমস্যার সমাধান পেয়েছি। নেভিগেশন বারের স্বচ্ছ সম্পত্তি সেট করুন:

self.navigationController.navigationBar.translucent = NO;

এটি নেভিগেশন বার এবং স্থিতি দণ্ডের নীচে ফ্রেম হওয়া থেকে দর্শনটিকে ঠিক করবে।

যাইহোক, আপনি যখন নেভিগেশন বারটি স্বচ্ছ হতে চান তখন আমি মামলার কোনও সমাধান খুঁজে পাইনি। উদাহরণস্বরূপ, কোনও ফটো পূর্ণ স্ক্রিনটি দেখার জন্য, আমি নেভিগেশন বারটি পারদর্শী হতে চাই এবং তার নীচে দৃশ্যটি ফ্রেম করা হোক। এটি কাজ করে, তবে আমি নেভিগেশন বারটি প্রদর্শন / লুকিয়ে টগল করার সময়, আমি এমনকি অপরিচিত ফলাফলও পেয়েছি। প্রথম সাবভিউ (একটি ইউআইএসক্রোলভিউ) প্রতিবারই এর সীমানা y উত্স পরিবর্তিত হয়।


আমি এক্সকোড 5 ডিপিতেও একই সমস্যাটি পাচ্ছি
গোপেশ গুপ্ত

আপনি যদি কিছু সমাধান পান তবে আমাকে জানান
গোপেশ গুপ্ত

1
কোনও রঙিন রঙের বৈশিষ্ট্যের জন্য নেভিগেশন বারে সন্ধান করুন, আপনি যে নীল রঙটি চান তা পরিবর্তন করতে সক্ষম হবেন।
মৌমাছি

9
আমি কখনও কখনও আইওএস আপগ্রেডিংকে ঘৃণা করি কারণ অ্যাপল আপনাকে কখনও আপনার অ্যাপটিকে সামনের দিকে সামঞ্জস্য করার সুযোগ দেয়নি।
বাগসফ্লায়ার

3
সমস্যা দৃশ্য @Stunner দ্বারা গৌণ নিয়ামক উপরের বারে আমি উত্তর পাঠাতে হবে গোপন পর স্ট্যাটাস বার অধীনে যাচ্ছে এর সাথে সম্পর্কিত করা হয়, তাহলে stackoverflow.com/a/18976660/235206 সমাধান হিসেবে
MiKL

উত্তর:


495

আপনি edgesForExtendedLayoutiOS7 এসডিকে কল করা একটি নতুন সম্পত্তি প্রয়োগ করে এটি অর্জন করতে পারেন । এটি অর্জনের জন্য দয়া করে নীচের কোডটি যুক্ত করুন,

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
        self.edgesForExtendedLayout = UIRectEdgeNone;

আপনার -(void)viewDidLoadপদ্ধতিতে আপনাকে উপরেরটি যুক্ত করতে হবে ।

আইওএস 7 আপনি কীভাবে আপনার ইউআইটির উপস্থিতিটি বিন্যাস এবং কাস্টমাইজ করেন তাতে বেশ কয়েকটি পরিবর্তন আনে । ভিউ-কন্ট্রোলার লেআউট, রঙের রঙ এবং ফন্টের পরিবর্তনগুলি আপনার অ্যাপ্লিকেশনের সমস্ত ইউআইকিট অবজেক্টকে প্রভাবিত করে । এছাড়াও, অঙ্গভঙ্গি সনাক্তকারী API গুলিগুলির বর্ধনগুলি আপনাকে অঙ্গভঙ্গি ইন্টারঅ্যাকশনগুলির উপর সূক্ষ্ম দানাদার নিয়ন্ত্রণ দেয়।

দেখুন নিয়ন্ত্রণকারীরা ব্যবহার করে

আইওএস 7-এ, দেখুন নিয়ন্ত্রকরা পূর্ণ-স্ক্রীন বিন্যাস ব্যবহার করেন। একই সময়ে, আইওএস 7 আপনাকে কোনও ভিউ নিয়ন্ত্রক তার দৃষ্টিভঙ্গি রাখার জন্য আরও দানাদার নিয়ন্ত্রণ দেয়। বিশেষত, কোনও দৃশ্যের নিয়ামককে তার দৃশ্যের প্রতিটি প্রান্তের বিন্যাস নির্দিষ্ট করতে দেয়ায় পূর্ণ-স্ক্রীন বিন্যাসের ধারণাটি পরিমার্জন করা হয়েছে।

wantsFullScreenLayoutদৃশ্য নিয়ামক সম্পত্তি আইওএস 7 অননুমোদিত আপনি বর্তমানে উল্লেখ করেন wantsFullScreenLayout = NOযখন এটি আইওএস 7 রান করুন, দেখুন নিয়ামক একটি অপ্রত্যাশিত পর্দা অবস্থানে এর বিষয়বস্তু প্রদর্শন করতে পারে।

কীভাবে কোনও নিয়ন্ত্রক তার দর্শনগুলি দেয় তা সামঞ্জস্য করতে, UIViewController নিম্নলিখিত বৈশিষ্ট্যগুলি সরবরাহ করে:

  • edgesForExtendedLayout

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

  • extendedLayoutIncludesOpaqueBars

যদি আপনার নকশাটি অস্বচ্ছ বারগুলি ব্যবহার করে, edgesForExtendedLayoutতবে extendedLayoutIncludesOpaqueBarsসম্পত্তিটি কোনওটিকে সেট করেও পরিমার্জন করুন । (এর ডিফল্ট মান extendedLayoutIncludesOpaqueBarsহ'ল না ))

  • automaticallyAdjustsScrollViewInsets

কি আপনি চান না যদি একটি স্ক্রল দৃশ্য বিষয়বস্তু insets স্বয়ংক্রিয়ভাবে সমন্বয় করা, সেট automaticallyAdjustsScrollViewInsetsকরতে কোন । (ডিফল্ট মান automaticallyAdjustsScrollViewInsetsহল হ্যাঁ ।)

  • শীর্ষলাইআউটগুইড, নিচে লেআউটগুইড

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

দয়া করে রেফার করুন, আপেল ডক


2
এটি iOS6 এর অধীনে সংকলন করবে না। আমি মনে করি এটি
সম্পাদনকারী

8
হ্যাঁ, কেন আমি নির্বাচককে শর্তযুক্ত করে চেক অন্তর্ভুক্ত করেছি, যদি ([স্ব-প্রতিক্রিয়াশক্তি নির্বাচন করুন: @ নির্বাচক (প্রান্তগুলি forExededLayout)])
নন্দা

19
আমার কাছে নেভিগেশন বার না থাকলে এটি কাজ করবে না। সেক্ষেত্রে আমার ভিউটি স্ট্যাটাস বারের পিছনে প্রসারিত ...
ভ্যান ডু ট্রান

4
আমার কাছে @ ভ্যানডুটারনের মতোই সমস্যা রয়েছে। edges forExtendedLayout সাহায্য করে না যদি নেভিগেশন বারটি গোপন থাকে।
ফিশিনিয়ার

6
এটি কাজ করে কিন্তু ... আর কোনও রূপান্তরিত প্রভাব নেই ... আমরা কীভাবে অনূদিত প্রভাব সংরক্ষণ করতে পারি ...
দিপু রাজাক

110

আপনাকে কতটা দূরে সরিয়ে নিতে হবে তা গণনা করতে হবে না, এর জন্য সম্পত্তি রয়েছে। ইন্টারফেস বিল্ডারে আপনার ভিউ কন্ট্রোলারটিকে হাইলাইট করুন এবং তারপরে বৈশিষ্ট্য পরিদর্শকের কাছে নেভিগেট করুন। এখানে আপনি "প্রান্ত প্রসারিত করুন" শব্দের পাশে কিছু চেক বাক্স দেখতে পাবেন। আপনি দেখতে পাচ্ছেন, প্রথম স্ক্রিনশটে, ডিফল্ট নির্বাচনটি নীচের অংশের নীচে এবং নীচের অংশে প্রদর্শিত হবে, তবে এটি অস্বচ্ছ বারগুলির নিচে নয়, এ কারণেই বার স্টাইলটি আপনার পক্ষে কাজ করে না lu

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

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

এই দ্বিতীয় স্ক্রিনশটটি যখন আপনি "শীর্ষ বারের আন্ডার" চেক বাক্সটি অনির্বাচিত করেন তখন কী ঘটে তা দেখায়। আপনি দেখতে পাচ্ছেন, ভিউ কন্ট্রোলার দর্শনগুলি নেভিগেশন বারের নীচে ডাবল এর y উত্সের জন্য যথাযথভাবে সরানো হয়েছে।

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

এটি ব্যবহারের মাধ্যমে প্রোগ্রামগতভাবেও সম্পন্ন করা যায় -[UIViewController edgesForExtendedLayout]। এখানে জন্য ক্লাস রেফারেন্স একটি লিঙ্ক আছে edgeForExtendedLayout , এবং UIRectEdge

[self setEdgesForExtendedLayout:UIRectEdgeNone];

15
কেবলমাত্র .xib এ দেখার জন্য আমি কীভাবে এটি করব?
ববিকস

2
আমি ভিউতে একটি লেবেল যুক্ত করেছি এবং আমি আপনার নির্দেশ অনুসরণ করেছি তবে এটি আমার পক্ষে কাজ করছে না
আরএমআরহুল

5
@ ববিক্স XIB প্রশ্নের উত্তর, "আপনি পারবেন না"। যাই হোক আইবির মাধ্যমে নয়। একটি রাডার ফাইল করুন এবং আশা করুন অ্যাপল শেষ পর্যন্ত এটি সম্বোধন করবে।
স্মারকগুলি

ধন্যবাদ @ 0x7fffffff, এটি কেবলমাত্র আমি যে তথ্যটি খুঁজছিলাম এবং এটি খুব সহায়ক ছিল।
ক্যাম্পো

33

আমি আমার মতামতটি প্রোগ্রামিয়ালি তৈরি করেছি এবং এটি আমার পক্ষে কাজ করে:

- (void) viewDidLayoutSubviews {
    // only works for iOS 7+
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
        CGRect viewBounds = self.view.bounds;
        CGFloat topBarOffset = self.topLayoutGuide.length;

        // snaps the view under the status bar (iOS 6 style)
        viewBounds.origin.y = topBarOffset * -1;

        // shrink the bounds of your view to compensate for the offset
        viewBounds.size.height = viewBounds.size.height + (topBarOffset * -1);
        self.view.bounds = viewBounds;
    }
}

উত্স ( pg.39 এর নীচে টপলয়আউটগাইড বিভাগে)।


অবশেষে একটি উত্তর পাওয়া গেল যা আসলে এটির জন্য কাজ করে। ভাল কাজ!
স্টুয়ার্টএম

1
ন্যাভিগেশন বারটি যখন লুকানো থাকে তখন নিয়ন্ত্রকের দর্শনটি স্থিতি দণ্ডের নীচে প্রদর্শিত হয় এমন সমস্যা সমাধানের জন্য, এটি কোড যা স্থিতি দণ্ডের নিচে দৃশ্যটি স্ন্যাপ করে।
MiKL

দ্রষ্টব্য: এটি আপনার দৃশ্যের নীচেটি স্ক্রিন থেকে সরিয়ে দেবে।
স্মরণে

1
এছাড়াও, আপনি যদি কেবলমাত্র iOS7 এর জন্য তৈরি না করেন তবে উপরের কোডটি একটি ত্রুটি ফেলবে - topLayoutGuideএটি কেবল iOS7 is
স্মরণে

1
এছাড়াও নোট করুন যে যখন আপনার মূল ভিউটি ইউআইটিএবলযোগ্য ভিউ হয় তখন প্রতিটি স্ক্রোলটিতে ডায়াল লেআউটসুভিউগুলি কল করা হবে। আপনার ইউআইটিএবলভিউ এর উচ্চতা 15 পিক্স না হওয়া পর্যন্ত ছোট করে দেওয়া হবে। এই কোডটি একবার চালানোর জন্য একটি পতাকা যুক্ত করুন। ;)
টমাস

30

আইওএস 10+ এ এনআইবি / এক্সআইবি ফাইলগুলির সাথেও কাজ করে সুইফ্ট 3 / সুইফট 4 সমাধান:

override func viewDidLoad() {
    super.viewDidLoad()

    edgesForExtendedLayout = []
}

এটাই আমাকে সাহায্য করেছে ... তাই সাধারণ। ধন্যবাদ :-)
হার্নান আরবার

ধন্যবাদ এটি সত্যই সহায়ক
মুহাম্মদ আহমেদ বাইগ

এটি 10.x সুইফট 3+ আইএমওর জন্য সর্বোত্তম সমাধান
শোকাভেলি

10

আপনি যদি চান যে ভিউটি ট্রান্সলুসেন্ট ন্যাভ বারটি (যা ভাল ধরনের) থাকে তবে আপনাকে একটি সামগ্রী সেট করতে হবে ইনসেট বা অনুরূপ।

এখানে আমি এটি কীভাবে করছি:

// Check if we are running on ios7
if([[[[UIDevice currentDevice] systemVersion] componentsSeparatedByString:@"."][0] intValue] >= 7) {
      CGRect statusBarViewRect = [[UIApplication sharedApplication] statusBarFrame];
      float heightPadding = statusBarViewRect.size.height+self.navigationController.navigationBar.frame.size.height;

      myContentView.contentInset = UIEdgeInsetsMake(heightPadding, 0.0, 0.0, 0.0);
}

3
আপনি কেন এটি সরাসরি 7.0 এর সাথে তুলনা করতে পারবেন না
লীনা

1
হ্যাঁ আমি এটি পেয়েছি: নাবালিক সংযোজন সহ একটি নির্দিষ্ট সংস্করণে পরীক্ষা করা কম শক্ত। তবে আপনি যাচাই করছেন যে মানটি বড় বা সমান
so.০ এর

1
@ লেনা - এটি 7.x এবং এর পরে বৈশিষ্ট্যগুলি রয়েছে - তাই আমি সংস্করণটি 7 বা তার বেশি কিনা তা যাচাই করি এবং চেকটিতে সামান্য সংশোধনগুলি এড়িয়ে যাই।
ম্যাগনাস

2
আমার টেবিলটি আমার ট্যাববারের পিছনে প্রদর্শিত মৌমাছির সাথে আমার একটি সমস্যা ছিল। যা আমার টেবিলের শেষ সারিটি কখনই ট্যাববারের উপরে স্ক্রোল না করে। আমি এটির মতো এটি স্থির করেছি: myTableView.contentInset = UIEgegensetsMake (0, 0.0, ট্যাববার হাইট, 0)
জেমস লরেনস্টিন

contentInsetএকটি সম্পত্তি UIScrollView। আমার মূল দৃষ্টিভঙ্গির একটি সাবক্লাস না হলে কী হবে UIScrollView। তাহলে আমি ওভারল্যাপ সমস্যাটি কীভাবে ঠিক করব?
পিউনার

9

edgesForExtendedLayoutআইওএসের জন্য কৌশলটি করে 7.. তবে, আপনি যদি iOS 7 এসডিকে জুড়ে অ্যাপটি তৈরি করেন এবং এটি আইওএস 6 এ স্থাপন করেন, নেভিগেশন বারটি স্বচ্ছ দেখায় এবং এর নীচে দৃশ্যগুলি দেখা যায়। সুতরাং, এটি আইওএস 7 এর পাশাপাশি আইওএস 6 এর জন্যও এটি ঠিক করুন:

self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
    self.edgesForExtendedLayout = UIRectEdgeNone;   // iOS 7 specific

9

আপনার অ্যাপ্লিকেশনগুলিতে প্লাস্ট ফাইলটিতে একটি সারি যুক্ত করুন, এটিকে "কন্ট্রোলার-ভিত্তিক স্ট্যাটাস বারের উপস্থিতি দেখুন" কল করুন এবং এটিকে সেট করুন না


7

সহজ কৌশলটি হল এনআইবি ফাইলটি খোলার এবং এই দুটি সহজ পদক্ষেপগুলি:

  1. কেবল এটি টগল করুন এবং এটি আপনার পছন্দ অনুযায়ী সেট করুন:

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

  1. আপনি যে ইউআইভিউয়ের / ইউআইআইআইএমএজভিউয়ের / ... নির্বাচন করুন যাতে আপনি নীচে নামতে চান। আমার ক্ষেত্রে শুধুমাত্র লোগোটি ওভারল্যাপ করা হয়েছিল আমি ব-দ্বীপটিকে +15 এ সেট করেছি; (বা -15 আপনি যদি পদক্ষেপ 1 এ আইওএস 7 চয়ন করেন)

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

এবং ফলাফল :

আগে পরে


6
এটি কাজ করে তবে সমাধানটি বজায় রাখা এটির মতো কঠিন। সমস্যাটি প্যাচ করার পরিবর্তে কেবল সমস্যার সমাধান করা ভাল।
NLemay

সমস্ত দর্শনের মতামতের জন্য প্রোগ্রামগতভাবে এটি করা ভাল হবে কারণ মূল দৃশ্যে প্রয়োগ করা থাকলে এটি কাজ করে না
ওয়াইল্ডমনকি

5

দ্রুত সমাধান:

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    self.edgesForExtendedLayout = UIRectEdge.None
}

4
এটি এখন প্রসারিতলয়আউট = []
লিওন

1
যেহেতু এটি একটি সর্বজনীন উত্তর তাই আমাদের কল করা উচিত নয়:super.viewWillAppear(animated)
প্রোডোস

4

আমি স্টুনারের উত্তরটি প্রসারিত করতে চাই এবং ifএটি আইওএস -7 কিনা তা যাচাই করার জন্য একটি বিবৃতি যুক্ত করতে চাই, কারণ আমি যখন এটি আইওএস 6 এ পরীক্ষা করেছি তখন আমার অ্যাপ্লিকেশানটি ক্রাশ হয়ে যাবে।

সংযোজন যোগ করা হবে:

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)

সুতরাং আমি আপনার MyViewControler.mফাইলে এই পদ্ধতিটি যুক্ত করার পরামর্শ দেব :

- (void) viewDidLayoutSubviews {
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
        CGRect viewBounds = self.view.bounds;
        CGFloat topBarOffset = self.topLayoutGuide.length;
        viewBounds.origin.y = topBarOffset * -1;
        self.view.bounds = viewBounds;
    }
}


3

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

নেভিগেশন বারটি আমার সামগ্রীর আড়াল থেকে বাঁচতে আমাকে দুটি পরিবর্তন করতে হয়েছিল।

1) ব্যানারভিউকন্ট্রোলআরএম পরিবর্তন করুন

- (void)viewDidLoad
{
   [super viewDidLoad];
   float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
   if (systemVersion >= 7.0) {
      self.edgesForExtendedLayout = UIRectEdgeNone;
   }
}

2) আমার স্ক্রোলভিউ কনটোলার পরিবর্তন করুন

- (void)viewDidLoad
{
    [super viewDidLoad];
    float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
    if (systemVersion >= 7.0) {
        self.edgesForExtendedLayout = UIRectEdgeBottom;
    }
}

এখন বিজ্ঞাপনগুলি নেভিগেশন বার দ্বারা আচ্ছাদিত না হয়ে দেখুনটির নীচে সঠিকভাবে প্রদর্শিত হবে এবং উপরে থাকা সামগ্রীটি কাটা হয়নি।


2

কেবলমাত্র নীচের কোডটি সেট করে দেখুন will

  if ([[[UIDevice currentDevice] systemVersion] floatValue]<= 7) {
self.edgesForExtendedLayout = UIRectEdgeNone;
 }

এটিই আমার পরিস্থিতিতে কাজ করেছিল।
goobliata

2

এই জাতীয় শীর্ষ লেআউটে একটি সীমাবদ্ধতা তৈরি করুন এখানে চিত্র বর্ণনা লিখুন


2

সুইফট 4.2 - এক্সকোড 10.0 - আইওএস 12.0:

if #available(iOS 11.0, *) {} else {
  self.edgesForExtendedLayout = []
  self.navigationController?.view.backgroundColor = .white
}

1

আমার কাছে, সহজ সমাধানটি হল প্লিস্টে দুটি কী যুক্ত করা

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


+1, আমার কাছে "স্ট্যাটাস বার প্রারম্ভিকভাবে লুকানো ছিল" = হ্যাঁ, তবে "কন্ট্রোলার-ভিত্তিক স্ট্যাটাস বারের উপস্থিতি দেখুন" = কোনও যোগ করার পরে আমি স্ট্যাটাস বার থেকে মুক্তি পেলাম না।
জোনাস বাইস্টর্ম

1

এটিকে একটি সারি হিসাবে ড্রপডাউনলিস্ট থেকে "দেখুন নিয়ামক-ভিত্তিক স্থিতি দণ্ডের উপস্থিতি" কীটি যুক্ত করুন info.plist। এটার মতো কিছু:

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


আকর্ষণীয়.এটি আমার কোকোস 2 ডি প্রকল্পগুলিতে সহায়তা করেছে as এই বিকল্পটি টগল করে আমি দেখতে পাচ্ছি শীর্ষ স্থিতি বারটি সম্পূর্ণরূপে চলে গেছে বা উপস্থিত আছে।
কুরসাত তুর্কি

1

আমি অন্য অ্যাপ্লিকেশনগুলিতে (আর্মভি 7, আর্মভি 7 এস, এমআর 64) আমার অ্যাপ্লিকেশনটিতে একই সমস্যাটি পেয়েছিলাম কেবল অন্য ইউআইভিউকন্ট্রোলার উপস্থাপন করে এবং তাদের বরখাস্ত করার পরে স্ট্যাটাস বারের অধীনে এনএভি বারে যায় ... এর সমাধানের জন্য আমি অনেক সময় ব্যয় করি। আমি স্টোরিবোর্ড এবং ইউআইভিউউকন্ট্রোলারের জন্য ইন্টারফেসবিল্ডারে ব্যবহার করছি যা পুরো স্ক্রিন -> বর্তমান বিষয়বস্তু থেকে উপস্থাপনা সেট করে ভীতিজনক করে তোলে এবং এটি এই সমস্যার সমাধান করে। এটি আমার আইপ্যাডে কেবল আইপ্যাডস => আইওএস 8.0 (আইওএস 8.1 দিয়ে পরীক্ষা করা) এবং আইওএস 7.1 সহ আইপ্যাডগুলির জন্য কাজ করে না !!স্ক্রিনশট দেখুন


আমার ক্ষেত্রে, আমার মূল দৃষ্টিভঙ্গিটি আমার ট্যাববারকে ওভারল্যাপ করছে এবং এর কারণ সম্পর্কে আমার কোনও ধারণা নেই। এটি প্রসারিত প্রান্তগুলি> নীচে নীচে বারগুলি পরীক্ষা করা হয়েছিল turns এটি লক্ষ্য করা সত্যিই কঠিন ছিল কারণ আমার অ্যাপ্লিকেশনটির পটভূমি সাদা ছিল এবং এটি কেবল আমার ট্যাববারের উপরে কিছু স্তরের অস্বচ্ছতা তৈরি করেছিল। ধন্যবাদ!
যিশু রদ্রিগেজ

0

আইওএস 7 এ স্থিতি বারটি আড়াল করার পদক্ষেপগুলি:

1. আপনার অ্যাপ্লিকেশন তথ্য.পলিট ফাইল যান।

২.এন্ড সেট, কন্ট্রোলার-ভিত্তিক স্ট্যাটাস বারের উপস্থিতি দেখুন: বুলিয়ান না

আশা করি স্ট্যাটাস বারের সমস্যা সমাধান করেছি .....


0

আমার ক্ষেত্রে লোডভিউ থাকার কারণে ()
এই কোডটি বাধাগ্রস্থ করেছে: self.edges ForExtendedLayout = UIRectEdgeNone

তবে লোডভিউ () মুছে ফেলার পরে সবকিছু ঠিকঠাক কাজ করেছে

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