سؤال

سؤالي الأول هنا لذا كن لطيفًا :)

أحاول استخدام 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/ لتكون مفيدة للغاية.

نصائح أخرى

إن تدفق وحدة عرض الاتصالات/عرض وحدات التحكم غير صحيح. إذا تمكنت من شرح السيناريو الصحيح لما تريد ، سأقول لك الحل. أو نشر الكود الخاص بك لفهم أفضل.

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