zoukankan      html  css  js  c++  java
  • 不准使用xib自定义控制器view的大小

    1、AppDelegate.m

    //
    // 文 件 名:AppDelegate.m
    // 
    // 版权所有:Copyright © 2018年 leLight. All rights reserved.
    // 创 建 者:leLight 
    // 创建日期:2018/9/10.
    // 文档说明:
    // 修 改 人:
    // 修改日期:
    // 
    
    #import "AppDelegate.h"
    #import "ViewController.h"
    
    @interface AppDelegate ()
    
    @end
    
    @implementation AppDelegate
    
    /************ 运行程序时,必须执行的方法(程序入口) *****************************/
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // 添加app的主窗口
        [self addAppKeyWindow];
    
        return YES;
    }
    
    #pragma mark ***************************** 添加app的主窗口 ***********************************************
    #pragma mark - 创建窗口及主控制器
    /************ 添加app的主窗口 *****************************/
    - (void)addAppKeyWindow {
        
        /** 1、创建窗口 **/
        self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
        
        /* 2.1 创建主界面控制器 **********************************/
        ViewController *mainView = [[ViewController alloc] init];
        /* 2.2 创建导航控制器,并设置导航控制器的根控制器 mainView */
        UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:mainView];
        /******************************************************************/
        /** 3、设置窗口的根控制器 **/
        self.window.rootViewController = nav;
        /** 4、显示窗口 **/
        [self.window makeKeyAndVisible];
    }
    

    2、ViewController.m

    //
    // 文 件 名:ViewController.m
    // 
    // 版权所有:Copyright © 2018年 leLight. All rights reserved.
    // 创 建 者:leLight 
    // 创建日期:2018/9/10.
    // 文档说明:
    // 修 改 人:
    // 修改日期:
    // 
    
    #import "ViewController.h"
    #import "CHCustomizeViewController.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    /************ 加载控制器的view就会调用 *****************************/
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        self.view.backgroundColor = [UIColor redColor];
    }
    
    /************ 点击当前控制器的view的时候就会调用 *****************************/
    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
        
        [self presentPopupViewController:[[CHCustomizeViewController alloc] init] animationType:MJPopupViewAnimationSlideLeftRight dismissed:^{
            
        }];
    }
    
    @end
    

    3、CHCustomizeViewController.m

    //
    // 文 件 名:CHCustomizeViewController.m
    // 
    // 版权所有:Copyright © 2018年 leLight. All rights reserved.
    // 创 建 者:leLight 
    // 创建日期:2018/9/10.
    // 文档说明:
    // 修 改 人:
    // 修改日期:
    // 
    
    #import "CHCustomizeViewController.h"
    
    @interface CHCustomizeViewController ()
    
    @end
    
    @implementation CHCustomizeViewController
    
    /************ 加载控制器的view就会调用 *****************************/
    - (void)loadView {
        /************ 自定义控制器的view *****************************/
        UIView *loadView = [[UIView alloc] init];
        self.view = loadView;
        loadView.frame = CGRectMake(0, 0, 0.8 * CHScreenW, ScaleH(330));
        loadView.center = CGPointMake(0.5 * CHScreenW, 0.5 * CHScreenH);
        loadView.backgroundColor = [UIColor whiteColor];
    }
    
    /************ 控制器的view加载完毕的时候调用 *****************************/
    - (void)viewDidLoad {
        [super viewDidLoad];
        self.view.backgroundColor = [UIColor blueColor];
    }
    
    /************ 点击当前控制器的view的时候就会调用 *****************************/
    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
        [self dismissPopupViewControllerWithanimationType:MJPopupViewAnimationSlideLeftRight];
    }
    
    @end
    

    4、pch

    //
    // 文 件 名:PrefixHeader.pch
    // 
    // 版权所有:Copyright © 2018年 leLight. All rights reserved.
    // 创 建 者:leLight 
    // 创建日期:2018/9/10.
    // 文档说明:
    // 修 改 人:
    // 修改日期:
    // 
    
    #ifndef PrefixHeader_pch
    #define PrefixHeader_pch
    
    #import "UIViewController+MJPopupViewController.h"
    
    /************ 机子屏幕高度与宽度 *****************************/
    #define CHScreenH [UIScreen mainScreen].bounds.size.height
    #define CHScreenW [UIScreen mainScreen].bounds.size.width
    
    /****** 屏幕适配,以iphone 6 Plus 为基准 **************/
    //#define HEIGHT_BASE 736
    //#define WIDTH_BASE  414
    
    #define HEIGHT_BASE 812
    #define WIDTH_BASE  375
    
    /******** 点适配 ********/
    #define ScaleH(HEIGHT) CHScreenH / HEIGHT_BASE * HEIGHT
    #define ScaleW(WIDTH)  CHScreenW / WIDTH_BASE * WIDTH
    
    #endif /* PrefixHeader_pch */
    
  • 相关阅读:
    将数据挂载到 docker 容器中的3种方式:volume、bind mount、tmpfs
    kubectl 常用命令
    Kubernetes 知识点
    spring boot 学习资料
    docker 常见系统镜像
    docker 的前台模式和后台模式
    Docker容器里的进程为什么要前台运行?相同的问题:docker运行apache为什么带FOREGROUND参数?docker运行nginx为什么带`daemon off`参数?
    spring cloud 各核心组件作用
    nginx 镜像使用说明
    optimization.splitChunks 中,chunks 的3个值:all、async、initial 的含义
  • 原文地址:https://www.cnblogs.com/CH520/p/9621908.html
Copyright © 2011-2022 走看看