سؤال

يمكنني بسهولة تمكين وتعطيل TabBarItems في تطبيقي الذي ليس له قيم أو محتوى. يعمل كالسحر. أرغب في الاحتفاظ بجميع علامات التبويب لإظهار أن هذه الميزة أو المحتوى ستكون متاحة على طرق عرض أخرى في جميع أنحاء التطبيق لأن هذا العرض الخاص مملوء بشكل ديناميكي بالمحتوى أكثر من 30 طابعًا.

ال TabBarController هو فئة فرعية في بلدي "DetailViewController". ضمن هذه الفئة ، أتحقق من وجود أي محتوى وأحمل محتويات الكسول عن طريق تمرير viewWillAppear الحدث (منع تحميل محتويات علامة التبويب غير الموجودة والتحقق من اتصالات الإنترنت وما إلى ذلك). يعمل بسرعة وجيدة.

المشكلة هي أكثر بكثير تصميم بصري. تحميل المشاهدات في المرة الأولى التي تمكّن الأعمال وتعطيلها ، لكن الصور ليست "خافت". تحميل العرض الثاني والمرور من خلال نفس الإجراء".خافت"علامات التبويب المعوقة ... ما الذي أفتقده؟

هل كانت مفيدة؟

المحلول

كنت أفكر مرتين قبل استدعاء ViewWillAppear على self لأن النتائج يمكن أن تكون غير متوقعة.

// BAD IDEA
- (void)viewDidLoad {
    ...
    [self viewWillAppear];
    ...
}

// OK
- (void)viewWillAppear {
    ...
    [super viewWillAppear];
    ...
}

... الاستثناء هو مكالمتك إلى [SuperWillAppear] من داخل الطريقة ذاتها.

بشكل عام ، من الأفضل ترك إطلاق عروض عمليات استدعاء Apple إلى Apple. حاول إعادة إنشاء الوظائف التي حصلت عليها في ViewWillAppear ثم اتصل فقط بما تحتاجه في ViewDidload و ViewWillAppear و ViewDidAppear. من المحتمل أن تظهر المشكلة وأنت تنفجر كل جزء من الوظائف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top