Показать информацию imageview при первом запуске приложения для iPhone
Мне интересно, как я могу добавить в приложение изображение, которое перекрывает весь экран информацией о самом приложении.
Это требования:
- Показывать только один раз при первом запуске
- Покройте весь экран (включая панель вкладок и панель навигации)
- Когда пользователь нажимает на изображение, оно должно исчезнуть и больше не появляться;)
Пример (нашел только один на iPad, хотя он мне нужен для iPhone):
Как я могу это сделать? Есть ли какие-нибудь бесплатные фреймворки, которые я могу использовать? Любые советы, информация или ссылки очень ценятся.
2 ответа
Решение
- Проверьте NSUserDefaults, если представление справки было отображено (и отклонено) перед
- Создайте UIImageView и добавьте его в свой вид
- Добавьте UITapGestureRecognizer в imageView
- в действии жеста касания удалите справочное представление и сохраните в NSUserDefaults, чтобы представление было отклонено.
,
- (void)viewDidLoad {
[super viewDidLoad];
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"didDisplayHelpScreen"]) {
UIWindow *window = [[[UIApplication sharedApplication] windows] lastObject];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:window.bounds];
imageView.image = [UIImage imageNamed:@"78-stopwatch"];
imageView.backgroundColor = [UIColor greenColor];
imageView.alpha = 0.5;
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissHelpView:)];
[imageView addGestureRecognizer:tapGesture];
imageView.userInteractionEnabled = YES;
[window addSubview:imageView];
}
}
- (void)dismissHelpView:(UITapGestureRecognizer *)sender {
UIView *helpImageView = sender.view;
[helpImageView removeFromSuperview];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"didDisplayHelpScreen"];
}
Определите некоторый ключ BOOL в NSUserDefaults. Если это НЕТ, тогда покажите свое наложение и установите его в ДА. В следующий раз, когда пользователь запустит приложение, этот шаг будет пропущен.
Чтобы добавить изображение для вашего вида, код будет выглядеть примерно так:
UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.frame];
imageView.image = [UIImage imageNamed:@"overlay image"];
[self.view addSubview:imageView];