كيفية إخفاء شريط التنقل عندما أقوم بالدفع من وحدة التحكم في التنقل؟

StackOverflow https://stackoverflow.com/questions/1617565

سؤال

كيفية اخفاء الشريط العلوي في UIViewcontroller عندما أقوم بالدفع من وحدة التحكم في التنقل باستخدامPushViewController ؟أي مساعدة من فضلك؟

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

المحلول

ضع هذا الكود في وحدة تحكم العرض التي تريد إخفاء شريط التنقل الخاص بها.

- (void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:animated];
}

وقد ترغب أيضًا في تثبيت هذا هناك، وفقًا لاحتياجاتك:

- (void) viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}

نصائح أخرى

إليك كيفية القيام بذلك سويفت 3:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.setNavigationBarHidden(true, animated: animated)
}

ملاحظة.لقد وجدت أنه إذا قمت بتعيين الرسوم المتحركة ل false, ، يظهر شريط أسود عند الضغط.ولكن عندما يتم ضبطه على true انها ناعمة كالحرير!

For iOS 8 May be this work around could work it

CATransition* transition = [CATransition animation];
        transition.duration = 0.3;
        transition.type = kCATransitionPush;
        transition.subtype = kCATransitionFromRight;
        [self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
        [self.navigationController setNavigationBarHidden:TRUE animated:FALSE];
        [self.navigationController pushViewController:productViewObj animated:FALSE];
        [productViewObj.navigationController setNavigationBarHidden:TRUE animated:FALSE];
        [productViewObj release];
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top