1.0 搭建初始架构

作者: iOS_Cqlee | 来源:发表于2015-12-25 21:58 被阅读99次

    First Chapter

    1.整理基本架构

    • 1.根据需求配置好app的不同版本的图标
    • 2.根据app设置配置启动图片,如果不用laundStoryboard的,在程序设置Launch sceen file取消设置,自定义的就可以使用Assets.xcassets. 注意,必须设置启动图片,否则有时候屏幕顶部或者底部会出现黑条,不能适配到正确的手机尺寸
    • 3.根据功能模块,可以先把app程序大概的架构基本分出,根据MVC等模式进行分类,例如,工具类tool,分类category,主要内容main,各个功能模块的mvc模式.提高阅读性

    2.程序入口

    • 1.如果不使用main.storyboard,同样在app设置取消,这样就在appDelegate,创建控制器.
    • 2.使用main.storyboard,就直接在storyboard进行操作
    • 3.根据自己需求是否使用,如果只是简单的使用,可以用storyboard,例如配置广告.一般来说,尽量少用到重量级的storyboard.

    以创建广告的设置来说,使用storyboard,viewcontroller,添加广告图片,添加跳转按钮,一旦点击图片直接跳转到广告的页面,点击跳转按钮直接跳过广告,同时在设置一个定时在指定时间内跳转到UITabBarcontroller,不然一直停留在广告页面会给用户不好的使用感受.

    具体代码如下

    - (void)viewDidLoad{
        //取出屏幕的大小
         CGFloat screenH = [UIScreen mainScreen].bounds.size.height;
         //根据屏幕大小进行判断用户手机的型号,配置使storyboard的背景和启动图片一直,一般来说最好不要出现数字,可以将数字抽成宏,简单的介绍就不直接抽宏了
         if (screenH == 736) {
        // 6 plus\6s plus
         self.bgImageView.image = [UIImage imageNamed:@"LaunchImage-800-Portrait-736h@3x"];
        }else if(screenH == 667){
         // 6\6s
         self.bgImageView.image = [UIImage imageNamed:@"LaunchImage-800-667h@2x"];
        }else if (screenH == 568){
        // 5\5s
         self.bgImageView.image = [UIImage imageNamed:@"LaunchImage-568h@2x"];
        }else if (screenH == 480){
         self.bgImageView.image = [UIImage imageNamed:@"LaunchImage"];
         }
    
     //一般来说图片是不能进行点击的,要想对图片进行点击,必须为图片设置为可点击的
        self.adImageView.userInteractionEnabled = YES;
    
      //为广告图片添加手势
        [self.adImageView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(adClick)]];
    
     //显示广告图片
     BOOL hadAd = NO;
        if (hadAd) {
        //加载沙盒图片
         }else{
         //从来没有加载过的服务器图片
         self.adImageView.image = [UIImage imageNamed:@"图片名"];
         hadAd = YES;
        }
        
        //添加计时器,之后要控制,把定时设置为属性,同时记录下剩下的时间
        NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(updateTime) userInfo:nil repeats:YES];
        //注意必须添加runloop否则定时器是无法进行的
        [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
        
        //设置广告持续的时间
        self.leftTime = 3;
        
        
    }
    
    //定时器执行的方法
    - (void)updateTime{
        //每次时间减一
        self.leftTime--;
        //给用户显示
        NSString *title = [NSString stringWithFormat:@"%zd",self.leftTime];
       //设置跳过按钮的文字随定时器变动
       [self.skipBtn setTitle:title forState:UIControlStateNormal];
       
        //时间到跳专页面
        if (self.leftTime == -1) {
            //切换到app的首页
            [self skip];
        }
    }
    
    
    /** 广告点击 */
    - (void)adClick{
        //一旦点击了广告需移除定时器
        [self.timer invalidate];
        self.timer = nil;
        //跳转广告页面
        [UIApplication sharedApplication].keyWindow.rootViewController = 广告的页面(这在创建新viewcontroller中添加一个webview)
    }
    
    
    /** 点击跳过 */
    - (IBAction)skip {
        //一旦点击跳过或者时间到了,移除定时器
        [self.timer invalidate];
        //定时器移除之后,清空
        self.timer = nil;
        //跳转到自定义主页面
        [UIApplication sharedApplication].keyWindow.rootViewController = [[CqTabBarController alloc] init];
        
    }
    
    

    相关文章

      网友评论

        本文标题:1.0 搭建初始架构

        本文链接:https://www.haomeiwen.com/subject/kclphttx.html