自定义启动图有不少方法, 原理都差很少, 系统的LaunchImage是不能修改的, 因此能够用它当作底图, 而后再往这个图上加本身的需求服务器
//在AppDelegate声明启动图 customLaunchImageView //在didFinishLaunchingWithOptions 调用[self setUpLaunchScreen] //注意:self.window的rootViewController已设置//添加启动图 - (void)setUpLaunchScreen { self.customLaunchImageView = [[UIImageView alloc]initWithFrame:self.window.bounds]; self.customLaunchImageView.userInteractionEnabled = YES; self.customLaunchImageView.image = [UIImage imageNamed:@"这个图片需和LaunchImage图片如出一辙, 要判断尺寸"]; //自定义控件我就略了 [self.customLaunchImageView addSubview: yourLabel]; [self.customLaunchImageView addSubview: yourImageView]; [yourImageView setImageWithURL:[NSURL URLWithString:@"图片地址填写服务器返回的地址"] placeholderImage:[UIImage imageNamed:@"占位图能够不写"]]; [yourButton addTarget:self action:@selector(yourButtonClick) forControlEvents:UIControlEventTouchDown]; [self.customLaunchImageView addSubview:yourButton]; [self.window addSubview:self.customLaunchImageView]; [self.window bringSubviewToFront:self.customLaunchImageView]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5*NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [self yourButtonClick]; }); } - (void)yourButtonClick { //是否显示新版本引导页加在这里 //移动自定义启动图 if (self.customLaunchImageView) { [UIView animateWithDuration:0.3 animations:^{ self.customLaunchImageView.alpha = 0; } completion:^(BOOL finished) { [self.customLaunchImageView removeFromSuperview]; self.customLaunchImageView = nil; }]; }}