iOS - 自定义启动图

自定义启动图有很多方法, 原理都差不多, 系统的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;
    }];
    }}

你可能感兴趣的:(ios,启动图)