سؤال

ولدي أحد التطبيقات التي تستخدم الناف بار. ما أريد أن acomplish هو جعلها شفافة عندما دفع في عرض آخر من سلسلة الملاحة، وجعلها مبهمة عندما اضغط على الزر مرة أخرى على الملاحة

وحاولت معها على dealoc، ولكنه لا يعمل. وجهة نظري هو UIScrollView يست UiView، ولكن أعتقد أن لا فرق.

وكما أراها، eighter لدي للسيطرة على الأحداث على شريط التنقل، ومشاهدة نوع من وجهة النظر مع حلقة أو تحريك بعض الأحداث على "تفريغ" من وجهة نظري الحالي

وعندما دفع في وجهة النظر أفعل ل self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent.

وعندما الملوثات العضوية الثابتة أنا في حاجة إلى

وself.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque.

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

المحلول

ودفع وظهرت وجهة نظر مع UINavigationController أو UITabController سوف ندعو الرأي {ويل، هل} {الظهور، تختفي} طرق لذلك أعتقد أنك بحاجة إلى ربط في ViewWillDisappear وجهة نظر الطفل.

فما استقاموا لكم فاستقيموا المعماري بحيث أعلى مستوى مجموعات تحكم الملاحة نفسها مندوب الطفل، والطفل تدعو delgate مع وظيفة نوع "أنا تفريغ" حيث يمكنك تغيير نمط الناف بار.

نصائح أخرى

والواقع أن أفضل طريقة لذلك هي استخدام UINavigationControllerDelegate. I بمد UINAvigationController وتعيين مندوب في تقرير المصير وتستخدم إحدى الطرق للبروتوكول UINavigationControllerDelegate.

وأنت لا يمكن أن تعتمد حقا على dealloc من أي وقت مضى الحصول على استدعاء، وأقل من ذلك بكثير عندما تريد ذلك. التي ينبغي أن تستخدم فقط للافراج عن الأجسام الاحتفاظ بها.

وأعتقد أن عليك أن تكون قادرا على إضافة يغير barStyle في أساليب viewDidAppear وviewDidUDisappear من وحدة تحكم وجهة نظركم.

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