سؤال

لقد خلقت عرض التطبيق القائم, ، هنا أحتاج إلى التنقل بين طرق العرض عند الضغط على الزر.لذلك في وحدة تحكم العرض الأولى قمت بإنشاء إجراء للضغط على الزر.

-(IBAction)loadSecondView:(id)sender
{
    SecondView *sView = [[SecondView alloc]initWithNibName:@"SecondView" bundle:nil];
    [self.navigationController pushViewController:sView animated:YES];
    [sView release];
}

هذا الكود لا يعمل ما ينقصني

يمكنني القيام بذلك عن طريق [self.view addSubview:sView]; ولكني بحاجة إلى تأثير الملاحة.شكرا لك مقدما.

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

المحلول

لا يمكنك فقط ربط أ UIView مثيل لوحدة تحكم التنقل، هذه ليست الطريقة التي يعملون بها.

قم بإلقاء نظرة على قالب "التطبيق القائم على التنقل" في Xcode للتعرف على كيفية عمل وحدات التحكم في التنقل.

يمكنك استخدام وحدات التحكم في العرض أثناء إخفاء شريط التنقل:

[[self navigationController] setNavigationBarHidden:YES animated:NO];

يمكنك بعد ذلك الخريطة UIButton مثيلات للمحددات التي تدفع أو تنبثق وحدات تحكم العرض، مع إبقاء شريط التنقل مخفيًا.

تعتبر مثيلات الأزرار هذه عروضًا فرعية لوحدة التحكم في العرض view ملكية.

يمكن أن يساعد إخفاء شريط التنقل في توفير الوهم بأنك لا تستخدم وحدة التحكم في التنقل، بينما يمنحك جميع وظائف وحدة التحكم في التنقل.

نصائح أخرى

أليكس على حق ، إذا قمت بإنشاء مشروع "تطبيق قائم على العرض" ، لم يتم إنشاء أي uinavigationController ، لذلك عندما تدفع شيئًا ما لا يحدث ، هذا أمر طبيعي.

يجب عليك إنشاء uinavigationController وتجعلك عرضًا رئيسيًا من RootViewController ، ثم يمكنك دفعه إلى ViewController جديد.

لدي حل لهذا ،

في عرض التطبيق المستند إلى العرض ، يقوم ملف AppDelegate بإنشاء كائن ، وعرض وحدة التحكم ، وأضف هذا العرض إلى النافذة الرئيسية ، والقيام بمهمتنا ، وحذف وحدة التحكم في mainwindow.xib وإضافة وحدة تحكم uinavigation ، وإنشاء كائن إليه ، وتوصيل منفذها إنه ، ثم إضافة طريقة عرض وحدة تحكم التنقل هذه كعرض فرعي ،

يعمل بشكل جيد.

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