不准使用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 */
不准使用xib自定义控制器view的大小的更多相关文章
- iOS之深入了解控制器View的加载
前言 在面试中,面试官可能会问这样的问题,loadView有什么作用,它与viewDidLoad有何区别 首先我们得知道,控制器view是通过懒加载的方式进行加载的,即用到的时候再加载. loadVi ...
- 通过xib创建控制器
什么时候才需要使用storyboard,xib,当控制器的view界面是固定死的时候,就考虑用storyboard,xib解决. 目的:让xib描述控制器view 通过xi ...
- iOS开发——UI进阶篇(八)pickerView简单使用,通过storyboard加载控制器,注册界面,通过xib创建控制器,控制器的view创建,导航控制器的基本使用
一.pickerView简单使用 1.UIPickerViewDataSource 这两个方法必须实现 // 返回有多少列 - (NSInteger)numberOfComponentsInPicke ...
- 自定义控制器的View(loadView)及其注意点
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- xib view frame 大小调整
1.IOS - xib(Interface Builder,view) - can't change view size(view不能改变大小问题) 很多时候,我们自定义tableview.colle ...
- ios --xib自定义,解决在导航栏不透明的情况下,自定义xib view高度被压缩64的问题
在使用xib自定义view的时候,个人习惯性的直接使用xib中的约束,所以自然而然的要打开Autolayout.以前在使用的时候没有发现什么问题,最近项目中使用的时候突然发现在导航栏透明的情况下,出现 ...
- iOS开发——UI基础-自定义构造方法,layoutSubviews,Xib文件,利用Xib自定义View
一.自定义构造方法 有时候需要快速创建对象,可以自定义构造方法 + (instancetype)shopView { return [[self alloc] init]; } - (instance ...
- IOS 使用XIB 自定义View
一般自定义View 代码方式 有 在初始化的时候添加 子Views - (id)initWithFrame:(CGRect)frame { self = [super initWithFr ...
- iOS 用xib自定义View
网上有很多关于实现用xib自定义View,那我为什么还要写呢?第一,我用他们的方法都没有实现.第二,用xib遇到了很多问题,想分享给大家. 用xib自定义View:FHCustomView ...
随机推荐
- PHP获取汉字拼音首字母 截取中文字符串
http://blog.csdn.net/everything1209/article/details/39005785 substr是按字符分割,而mb_strcut是按字节来分割,但是都不会产生半 ...
- CentOS7网卡设置为桥接模式静态IP配置方法详解
备份网络文件 [root@localhost network-scripts]# cd /etc/sysconfig/network-scripts/ [root@localhost network- ...
- 设置Nodejs NPM全局路径
Windows下的Nodejs npm路径是appdata 在nodejs的安装目录中找到node_modules\npm\.npmrc文件 修改如下即可: prefix = E:\nodejs\np ...
- boot asio 非阻塞同步编程---非阻塞的accept和receive。
boot asio 非阻塞同步编程---非阻塞的accept和receive. 客户端编程: #include<boost/timer.hpp> #include <iostream ...
- java事件练习!!
总结:不晓得怎么跟书上的运行结果显示的...希望标签竖直排列 package com.bc; import java.awt.Color; import java.awt.FlowLayout; im ...
- C# 不使用Task实现的多线程顺序执行
多线程有很好的并发性即无序性,在某些特殊情况下需要用到多线程然而又要使其具备顺序性,这种时候就有了一个特殊的场景那就是多线程顺序执行,在现在VS2015中Task自带了顺序执行的方法,但在此之前的旧项 ...
- 开发环境入门 linux基础 (部分)while for 函数 计划任务
while循环 while do 动作 done 需要无限循环时我们会选择while : echo -e 格式处理,将\n的意义不变. exit 指退出执行程序 break 指跳出本层循环 conti ...
- oracle connect by用法篇 (包括树遍历)之一
1.基本语法 select * from table [start with condition1] connect by [prior] id=parentid 一般用来查找存在父子关系的数据,也就 ...
- ffmpeg一揽子
avformat_alloc_output_context2().在基于FFmpeg的视音频编码器程序中,该函数通常是第一个调用的函数(除了组件注册函数av_register_all()).avfor ...
- Eclipse中,将jar包导入为User Library
项目右键 Properties -> bulid path -> Add Library -> User Library -> User Libraries -> New ...