不准使用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 ...
随机推荐
- 基于 WebSocket 的 MQTT 移动推送方案
WebSphere MQ Telemetry Transport 简介 WebSphere MQ Telemetry Transport (MQTT) 是一项异步消息传输协议,是 IBM 在分析了他们 ...
- Disconf web管理端安装
1.环境配置配置java.maven环境,并安装mysql,reids,zookeeeper,Nginx2.下载disconf下载https://codeload.github.com/knightl ...
- Regexp:目录
ylbtech-Regexp:目录 1.返回顶部 1. http://www.runoob.com/regexp/regexp-tutorial.html 2. 2.返回顶部 3.返回顶部 4 ...
- 用IntelliJ IDEA建maven项目,如何解决main下无法创建java源文件
一.缺少java源文件 如下图: 现在想要在main下面增加java源文件,效果图如下所示: 首先,在main目录下新建java文件夹,就是源文件目录, 然后,右键,选择Mark Directory ...
- 2015.5.9 C#编写DLL及C#调用C#DLL
过程比C#调用VC++dll简单. 一.创建DLL 新建工程,类型选择类库,生成的结果就是dll 注意:在项目属性-应用程序中,注意三个地方,程序集名称和默认命名空间可以调整,但要一致,别的程序调用此 ...
- java反射专题一
一丶Class的理解 /* * Class类是反射的源头 * 创建一个类,通过编译(javac.exe),生成对应的.class文件,之后使用java.exe加载(JVM的类加载器完成的)此.clas ...
- java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
执行Hive查询: Console是这样报错的 java.sql.SQLException: Error from org.apache.hadoop.hive.ql.exec.mr.MapRedTa ...
- createPlaceholder 函数
function createPlaceholder(id,text,top,left){ top = top || 0; left = left || 0; var obj = $('#' + id ...
- JS的Prototype属性
转载至: http://blog.sina.com.cn/s/blog_7045cb9e0100rtoh.html 函数:原型 每一个构造函数都有一个属性叫做原型(prototype,下面都不再翻译, ...
- 简单的jQuery前端验证码校验
简单的jQuery前端验证码校验2 html; <!DOCTYPE html> <html lang="zh-cn"> <head> <m ...