PopToRootViewController من مستوى 3 ، لا البوب في barbutton البنود

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

سؤال

أنا دفع إلى بعض viewcontrollers مع UINavigationController و عندما أكون على 3 UISubViewController أنا ترميز 'popToRootViewController و البوب مرة أخرى ، ولكن في شريط التصفح-العناصر دفع 2 تحكم الرأي لا 1st..

  • حاولت ذلك مع و بدون موحية ، ولكن لا شيء سوف يتغير.
  • حاولت أن أقول الذاتي.navigationController.شريط التصفح البوب مرة أخرى, ولكنها لا تفعل شيئا على شريط.

شكرا على المساعدة..

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

المحلول

أنا في حيرة قليلا في السؤال ولكن أعتقد أن هذا من شأنه أن يساعد.بقدر ما أنا أعلم أنك لا يمكن أن يكون زر "العودة" على UINavigationController العودة أكثر من 1 البوب.لذا ما عليك فعله هو إضافة زر آخر يقوم popToRootViewController وظيفة.محاولة شيء من هذا القبيل:

UIBarButtonItem *newButton = [[UIBarButtonItem alloc] initWithTitle:@"Home" style:UIBarButtonItemStylePlain target:self action:@selector(homeAction:)];

self.navigationItem.rightBarButtonItem = newButton;

هذا إضافة الزر إلى اليمين على الملاحة الخاص بك وحدة تحكم.والخطوة التالية هي لإضافة وظيفة تسمى مهما كان لك اسم في العمل (في هذه الحالة فإنه يحتاج إلى أن يسمى "homeAction").هذا يبدو مثل ذلك:

-(IBAction)homeAction:(id)sender {
      [self.navigationController popToRootViewControllerAnimated:YES];
}

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

نصائح أخرى

ما لم تكن تفعل شيئًا غريبًا مع مجموعة UiviewControllers من NavigationController ، يجب أن تكون الطريقة:

[self.navigationController popToRootViewControllerAnimated:YES];
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top