صفحة مقدمة لمدة 5 ثوان بعد ملف default.png وقبل mainwindow.nib
-
23-09-2019 - |
سؤال
لقد قمت بإنشاء مشروع حيث 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.