صفحة مقدمة لمدة 5 ثوان بعد ملف default.png وقبل mainwindow.nib

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

سؤال

لقد قمت بإنشاء مشروع حيث default.png ينام لمدة 3 ثوان ثم MainWindow.xib تم تحميله أردت إنشاء جديد IntroPageViewController.xib قبل FirstPageViewController.xib الأحمال. كنت أرغب في وضع بعض النص في intropage الذي يتم تحميله لمدة 10 ثوانٍ ولديه زر تخطي. لقد أنشأت بالفعل FirstPageViewController.xib ، الآن أريد تحميل IntroPageViewController.xib في applicationdidfinishlaunching .

حاولت إجراء تغييرات في FirstPageAppDelegate.h و .m ولكن لا يزال FirstPageViewController.xib الأحمال وإذا قمت بإجراء تغييرات على info.plist لتحميل IntroPageViewController.xib أو IntroPageViewController تعطل التطبيق. المساعدة المطلوبة من فضلك.

شكرا طن مقدما :)

التحيات ، المبرمج

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

المحلول

بدلاً من تحميل intropageViewController.xib قبل FirstPageViewController.xib يدويًا ، جرب هذا:

  • عندما يتم تحميل الصفحة الأولى ، أظهر عرض intropage فوقه.
  • بعد تأخير أو عند الضغط على زر تخطي ، قم بإزالة intropage.

إليك الطريقة:

قم بعمل intropageViewController مع ملف XIB المقابل.
في Xcode ، قم بإعداد زر وطريقة عمل لهذا الزر.

// in your .h file.   

@interface IntroViewController : UIViewController {
    UIButton *skipButton;
}  

@property (nonatomic, retain) IBOutlet UIButton *skipButton;

-(IBAction)skipPressed;

@end  

// in the .m file  

-(IBAction)skipPressed {
    [self.view removeFromSuperview]; // this removes intro screen from the screen, leaving you FirstView
}

// put this in the viewDidLoad method
- (void)viewDidLoad {
    [super viewDidLoad];

    [self performSelector:@selector(skipPressed) withObject:nil afterDelay:5];
}

// add these in FirstViewController.m  

#import "IntroViewController.h"  

- (void)viewDidLoad {
    [super viewDidLoad];

    IntroViewController *introViewController = [[IntroViewController alloc] initWithNibName:@"IntroViewController" bundle:[NSBundle mainBundle]];
    [self.view addSubview:introViewController.view];
    [introViewController release]; // this removes your IntroScreen from memory once it disappears offscreen
}

الآن الخطوة التالية هي فتح introviewController.xib في Builder Interface واسحب Uibultton إلى العرض ، قم بتعيين عنوانه على "Skip".

قم بتوصيل الزر بـ Skippressed الإجراء وتوصيل مالك الملف بالزر.

العودة إلى Xcode و بناء وتشغيل لاختباره. إذا كان كل شيء على ما يرام ، فيجب أن تكون مشاهدة introview مرئية في وقت الإطلاق لمدة 5 ثوانٍ أو حتى تلمس زر SKIP.

نصائح أخرى

استخدم nstimer لإنشاء بعض الوقت. سيتم تنفيذ الإجراء المقابل بعد 10 ثوانٍ أو عند الضغط على زر SKIP.

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