iOS起動ページの表示時間の延長
1882 ワード
AppはトップページがWebViewの場合に遭遇することがあります.この場合、ページが大きすぎると、ロードに時間がかかります.ページアニメーションを起動した後、白い画面が表示される時間があります.携帯電話によって異なり、1 s程度かもしれませんが、ユーザーにとって体験は悪くなります.
ダイレクトコード
最後にビューを削除
ここでは、ビューが周囲から真ん中に収縮するなど、アニメーションを追加することができます.グラデーションの効果は悪くありません.
メインスレッドのスリープを使用してLaunchImageの表示時間を延長できます
[NSThread sleepForTimeInterval:2.0];
この方法では起動ページの表示時間を延長できますが、2.0 s以降はwebviewでUrlをロードする際に白画面の時間がかかり、問題をうまく解決できません.起動ページをビューとして手動でwindowにロードし、数秒表示してからwindowから削除すると、偽乱真--^
ダイレクトコード
- (void)showInterimImage
{
CGRect viewFrame = [UIScreen mainScreen].bounds;
CGSize viewSize = viewFrame.size;
// , LaunchImage
NSString *viewOrientation = @"Portrait";
NSString *launchImageName = nil;
NSArray *imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
for (NSDictionary *dict in imagesDict)
{
CGSize imageSize = CGSizeFromString(dict[@"UILaunchImageSize"]);
if (CGSizeEqualToSize(imageSize, viewSize) && [viewOrientation isEqualToString:dict[@"UILaunchImageOrientation"]])
{
launchImageName = dict[@"UILaunchImageName"];
}
}
//
if(launchImageName) {
UIImage *image = [UIImage imageNamed:launchImageName inBundle:nil compatibleWithTraitCollection:nil];
_interimView = [[UIImageView alloc] initWithFrame:viewFrame];
_interimView.image = image;
[[UIApplication sharedApplication].keyWindow addSubview:_interimView];
[self performSelector:@selector(dismissInterimView) withObject:nil afterDelay:2.0];
}
}
最後にビューを削除
- (void)dismissInterimView
{
[UIView animateWithDuration:0.5 animations:^{
_interimView.alpha = 0;
} completion:^(BOOL finished) {
[_interimView removeFromSuperview];
}];
}
ここでは、ビューが周囲から真ん中に収縮するなど、アニメーションを追加することができます.グラデーションの効果は悪くありません.