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. PHP获取汉字拼音首字母 截取中文字符串

    http://blog.csdn.net/everything1209/article/details/39005785 substr是按字符分割,而mb_strcut是按字节来分割,但是都不会产生半 ...

  2. CentOS7网卡设置为桥接模式静态IP配置方法详解

    备份网络文件 [root@localhost network-scripts]# cd /etc/sysconfig/network-scripts/ [root@localhost network- ...

  3. 设置Nodejs NPM全局路径

    Windows下的Nodejs npm路径是appdata 在nodejs的安装目录中找到node_modules\npm\.npmrc文件 修改如下即可: prefix = E:\nodejs\np ...

  4. boot asio 非阻塞同步编程---非阻塞的accept和receive。

    boot asio 非阻塞同步编程---非阻塞的accept和receive. 客户端编程: #include<boost/timer.hpp> #include <iostream ...

  5. java事件练习!!

    总结:不晓得怎么跟书上的运行结果显示的...希望标签竖直排列 package com.bc; import java.awt.Color; import java.awt.FlowLayout; im ...

  6. C# 不使用Task实现的多线程顺序执行

    多线程有很好的并发性即无序性,在某些特殊情况下需要用到多线程然而又要使其具备顺序性,这种时候就有了一个特殊的场景那就是多线程顺序执行,在现在VS2015中Task自带了顺序执行的方法,但在此之前的旧项 ...

  7. 开发环境入门 linux基础 (部分)while for 函数 计划任务

    while循环 while do 动作 done 需要无限循环时我们会选择while : echo -e 格式处理,将\n的意义不变. exit 指退出执行程序 break 指跳出本层循环 conti ...

  8. oracle connect by用法篇 (包括树遍历)之一

    1.基本语法 select * from table [start with condition1] connect by [prior] id=parentid 一般用来查找存在父子关系的数据,也就 ...

  9. ffmpeg一揽子

    avformat_alloc_output_context2().在基于FFmpeg的视音频编码器程序中,该函数通常是第一个调用的函数(除了组件注册函数av_register_all()).avfor ...

  10. Eclipse中,将jar包导入为User Library

    项目右键 Properties -> bulid path -> Add Library -> User Library -> User Libraries -> New ...