不准使用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 ...
随机推荐
- laravel DB::raw() DB::RAW()的用法
laravel中的 DB::raw() 和DB::RAW()是同一种功能;用法如下 public function test() { $real = 66;]); $res = \ai\Models\ ...
- Docker资源
1.Docker入门教程 http://www.code123.cc/docs/docker-practice/repository/config.html 2.Docker入门教程 http://w ...
- 对oracle中date/timestamp的操作
设置oracle中date的会话格式为 'yyyy-mm-dd hh24:mi:ss' alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss ...
- java中try{}catch{}和finally{}的执行顺序问题
今天我给大家讲解一下java的的错误和异常处理机制以及相关异常的执行顺序问题.如有不足的地方,欢迎批评指正~ 1.首相简单介绍一下java中的错误(Error)和异常(Exception) 错误和异 ...
- redmine2.3环境搭建
1. 安装redmine bitnami-redmine-2.3.0-0-windows-installer.exe安装到C:\BitNami\redmine-2.3.0-0目录下. 其中redmin ...
- vue中父子组件传递信息实现
为了能够在父子组件中实现双向控制,需要以下的步骤: 第一步:子组件中挖坑 (1)在需要父组件填充具体内容的地方挖坑,方式为 <slot name="message">& ...
- Firefox切换页面默认显示语言
重新安装了下Firefox,发现页面语言变为中文,而我的有些脚本是在英文界面录的,因此想把默认语言改为英文. 方法如下: 工具 - 选项 - 语言(选择...),将英文上移到顶部 在做上面的修改之前, ...
- python request (1) 环境
环境准备 requests httpbin virtualenv pip python 安装 #mkdir /home/requests #yum install -y python-pip ...
- 【Android 多媒体应用】使用 TTS
import java.util.Locale; import android.app.Activity; import android.os.Bundle; import android.speec ...
- checked多选,取消,反选
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...