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 */

不准使用xib自定义控制器view的大小的更多相关文章

  1. iOS之深入了解控制器View的加载

    前言 在面试中,面试官可能会问这样的问题,loadView有什么作用,它与viewDidLoad有何区别 首先我们得知道,控制器view是通过懒加载的方式进行加载的,即用到的时候再加载. loadVi ...

  2. 通过xib创建控制器

    什么时候才需要使用storyboard,xib,当控制器的view界面是固定死的时候,就考虑用storyboard,xib解决.      目的:让xib描述控制器view          通过xi ...

  3. iOS开发——UI进阶篇(八)pickerView简单使用,通过storyboard加载控制器,注册界面,通过xib创建控制器,控制器的view创建,导航控制器的基本使用

    一.pickerView简单使用 1.UIPickerViewDataSource 这两个方法必须实现 // 返回有多少列 - (NSInteger)numberOfComponentsInPicke ...

  4. 自定义控制器的View(loadView)及其注意点

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  5. xib view frame 大小调整

    1.IOS - xib(Interface Builder,view) - can't change view size(view不能改变大小问题) 很多时候,我们自定义tableview.colle ...

  6. ios --xib自定义,解决在导航栏不透明的情况下,自定义xib view高度被压缩64的问题

    在使用xib自定义view的时候,个人习惯性的直接使用xib中的约束,所以自然而然的要打开Autolayout.以前在使用的时候没有发现什么问题,最近项目中使用的时候突然发现在导航栏透明的情况下,出现 ...

  7. iOS开发——UI基础-自定义构造方法,layoutSubviews,Xib文件,利用Xib自定义View

    一.自定义构造方法 有时候需要快速创建对象,可以自定义构造方法 + (instancetype)shopView { return [[self alloc] init]; } - (instance ...

  8. IOS 使用XIB 自定义View

    一般自定义View       代码方式 有 在初始化的时候添加 子Views - (id)initWithFrame:(CGRect)frame { self = [super initWithFr ...

  9. iOS 用xib自定义View

      网上有很多关于实现用xib自定义View,那我为什么还要写呢?第一,我用他们的方法都没有实现.第二,用xib遇到了很多问题,想分享给大家.    用xib自定义View:FHCustomView ...

随机推荐

  1. TLD视觉跟踪算法

    TLD算法好牛逼一个,这里有个视频,是作者展示算法的效果,http://www.56.com/u83/v_NTk3Mzc1NTI.html.下面这个csdn博客里有人做的相关总结,感觉挺好的,收藏了! ...

  2. asp.net自动将页面中的所有空间置为不可用以及将所有文本框置空

    /// <summary> /// 遍历页面上所有控件 /// </summary> /// <param name="page">指定的Pag ...

  3. Process使用

    最近在一个项目中,需要在C#中调用cmd窗口来执行一个命令,使用到了Process这个类,使用过程中遇到不少问题,好在终于解决了.赶紧记录下来. Process process = new Proce ...

  4. Azure VM的加速网络

    Azure的VM在经过几代发展后已经有多种硬件类型.目前Azure China的多种机型都配置了FPGA卡,可以实现网络加速.本文将介绍Azure的加速网络相关的内容. 一. 加速网络的硬件准备 下图 ...

  5. DLL 演示

    编写DLL时的函数与一般的函数方法基本一样.但要对库中的函数进行必要的声明,以说明哪些函数是可以导出的,哪些函数是不可以导出的. 把DLL中的函数声明为导出函数的方法有两种: 一是使用关键字_decl ...

  6. C语言学习笔记--内存分区

    1. 程序中的栈 1.1 栈的简介 (1)栈中现代计算机程序里最为重要的概念之一 (2)栈在程序中用于维护函数调用上下文 (3)函数中的参数和局部变量存储在栈上 (4)栈保存了一个函数调用所需的维护信 ...

  7. Python之list的创建以及使用

    list是一种有序的集合,可以随意添加和删除里面的元素. 空的list的定义:L = [] list当中的元素用[]概括起来. 在list当中可以使用索引来进行访问: 在这里我们要注意我们在进行索引的 ...

  8. SQL 连贯操作 [1]

    一. 连贯入门 查找到 id 为 1,2,3,4 中按照创建时间的倒序的前两位. 在 Home/controller/UserController.class.php 下插入 1.连贯操作入门 $us ...

  9. Struts2框架04 struts和spring整合

    目录 1 servlet 和 filter 的异同 2 内存中的字符编码 3 gbk和utf-8的特点 4 struts和spring的整合 5 struts和spring的整合步骤 6 spring ...

  10. 电脑安装unity3d有C盘逐渐爆满问题解决方案

    打开unity3d软件,Edit - Preference - GI Cache选中 Custom Cache Location,切换到别的盘,然后点击 Clean Cache清空一次,再查看C盘,存 ...