iPhone SDK: تبديل طرق العرض NavigationController
-
02-10-2019 - |
سؤال
سؤالي الأول هنا لذا كن لطيفًا :)
أحاول استخدام NavigationController لتبديل المشاهدات. حصلت على ما يلي: حصلت على وحدة تحكم MainView التي تحول إلى وحدات التحكم في العرض المختلفة باستخدام هذا الرمز:
UIButton *buttonPressed = (UIButton *)sender;
switch (buttonPressed.tag) {
case 1:
viewController = catalogView;
break;
case 2:
viewController = locatorView;
break;
case 3:
viewController = galleryView;
break;
}
[[self navigationController] pushViewController:viewController animated:YES];
الآن أحاول ، للتبديل إلى وجهة نظر أخرى في إحدى هذه المشاهدات.
كنت أحسب: لا بد لي من استيراد العرض الرئيسي وببساطة إنشاء طريقة هنا لتبديل المشاهدات.
على سبيل المثال
- (IBAction)goToProductView {
//UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Test" message:@"hier" delegate:self cancelButtonTitle:nil otherButtonTitles:@"Ok", nil] autorelease];
//[alert show];
viewController = galleryView;
[[self navigationController] pushViewController:viewController animated:YES];
}
وأسمي هذه الوظيفة من داخل ViewController مثل ذلك:
myViewController *mainView = [[myViewController alloc] init];
[[self navigationController] popViewControllerAnimated:NO];
[mainView goToProductView];
يتم استدعاء وظيفة MainView هنا (يظهر التنبيه إذا قمت بفكها) ولكن العرض لا يتغير.
يمكن لأي شخص هنا أن يخبرني لماذا ، أو لديه حل أفضل؟
شكرا مقدما
(ع
المحلول 2
لقد وجدت خطأ طرقي.
كنت أعشش وجهات نظر مثل هذا:
MainView - SecondView Thirdview
واطلب من MainView الانتقال من SecondView إلى ThirdView.
بدلا من هذا:
MainView - SecondView - ThirdView
والآن ببساطة اطلب من SecondView الذهاب إلى ThirdView.
لأي شخص آخر يصل إلى هنا مع نفس المشكلة التي وجدتها http://www.edumobile.org/iphone/iphone-programming-tutorials/navigationcontroller-application-in-iphone/ لتكون مفيدة للغاية.
نصائح أخرى
إن تدفق وحدة عرض الاتصالات/عرض وحدات التحكم غير صحيح. إذا تمكنت من شرح السيناريو الصحيح لما تريد ، سأقول لك الحل. أو نشر الكود الخاص بك لفهم أفضل.