UIView
//command+R 运行
//command+. 停止
//command+B 预编译
//command+1、2、3 模拟器大小
//command+shift+h home键
//command+shift+两个h 后台
//所有控件的父类
//实例化方式,属性,相关方法
//实例化:alloc initWithFrame
//CGRect类型:赋值方式CGRectMake
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
view.frame = CGRectMake(100, 50, 200, 100);
//位置及大小:frame
//坐标系的原点、正轴方向
//位置:前两个参数 原点:父视图最左上角的点 x轴正轴方向:向右 y轴正轴方向:向下
//开发过程中的单位:像素
//CGRectMake(CGFloat x (view在x轴的位置), CGFloat y (view在y轴的位置), CGFloat width (view本身自己的宽), CGFloat height (view本身自己的高))
//CGRect本身是个结构体->CGPoint结构体、CGSize结构体
//CGPoint->x、y 位置的结构体
//CGSize->width、height 大小的结构体
//设置背景颜色:backgroundColor
//赋值方式一:[UIColor someColor]
/*
+ (UIColor *)blackColor; // 0.0 white
+ (UIColor *)darkGrayColor; // 0.333 white
+ (UIColor *)lightGrayColor; // 0.667 white
+ (UIColor *)whiteColor; // 1.0 white
+ (UIColor *)grayColor; // 0.5 white
+ (UIColor *)redColor; // 1.0, 0.0, 0.0 RGB
+ (UIColor *)greenColor; // 0.0, 1.0, 0.0 RGB
+ (UIColor *)blueColor; // 0.0, 0.0, 1.0 RGB
+ (UIColor *)cyanColor; // 0.0, 1.0, 1.0 RGB
+ (UIColor *)yellowColor; // 1.0, 1.0, 0.0 RGB
+ (UIColor *)magentaColor; // 1.0, 0.0, 1.0 RGB
+ (UIColor *)orangeColor; // 1.0, 0.5, 0.0 RGB
+ (UIColor *)purpleColor; // 0.5, 0.0, 0.5 RGB
+ (UIColor *)brownColor; // 0.6, 0.4, 0.2 RGB
+ (UIColor *)clearColor; // 0.0 white, 0.0 alpha
*/
//赋值方式二:[UIColor colorWithRed:(CGFloat(0.0-1.0)) green:(CGFloat((0到255的数)/255.0)) blue:(CGFloat) alpha:(CGFloat)]
// view.backgroundColor = [UIColor redColor];
// view.backgroundColor = [UIColor colorWithRed:0.45 green:0.23 blue:0.67 alpha:1.0];
view.backgroundColor = [UIColor colorWithRed:123.0/255.0 green:213/255.0 blue:145/255.0 alpha:1.0];
//透明度:alpha 0.0-1.0 0.0:完全透明 1.0:完全不透明,默认状态
view.alpha = 0.6;
//隐藏属性:hidden BOOL NO:不隐藏,默认状态 YES:隐藏
view.hidden = NO;
//将view加载到window层上:addSubview
//父视图、子视图:不是继承关系、不是绝对的概念
//[父视图 addSubview:子视图]
[self.window addSubview:view];
//实例化
UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
view1.backgroundColor = [UIColor redColor];
//添加到父视图上面
[view addSubview:view1];
UIView * view2 = [[UIView alloc]init];
view2.bounds = CGRectMake(0, 0, 30, 30);
view2.backgroundColor = [UIColor yellowColor];
[view1 addSubview:view2];
// ************************************************
//实例化
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(50, 100, 220, 220)];
//设置背景颜色
view.backgroundColor = [UIColor redColor];
//设置透明度
//透明度:父视图有透明度,它上面的子视图就会有相应的透明度;子视图的透明度对父视图没有影响。
view.alpha = 1.0;
//设置隐藏属性
//隐藏属性:父视图隐藏,子视图跟着隐藏;子视图的隐藏属性对父视图没有影响。
view.hidden = NO;
//tag
view.tag = 1000;
//添加到父视图上面
[self.window addSubview:view];
//创建一个view的子视图
UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 80, 80)];
view2.backgroundColor = [UIColor blueColor];
view2.alpha = 1.0;
view2.hidden = YES;
//添加到view上面
[view addSubview:view2];
//由tag找到相应的view
UIView *viewTag = (UIView *)[self.window viewWithTag:1000];
NSLog(@"view=%@",view);
NSLog(@"tag=%@",viewTag);
/*
view=<UIView: 0x78f544e0; frame = (50 100; 220 220); tag = 1000; layer = <CALayer: 0x78f53110>>
tag =<UIView: 0x78f544e0; frame = (50 100; 220 220); tag = 1000; layer = <CALayer: 0x78f53110>>
*/
/******UIView-中心点*****/
UIView *view = [[UIView alloc] init];
//位置及大小的设置方式一:frame
// view.frame = CGRectMake(100, 100, 120, 120);
//位置及大小的设置方式二:center(中心点,位置),bounds(大小) //center:view自己的中心点
view.center = CGPointMake(, );
//bounds:后两个参数是view自己本身的大小
//bounds:前两个参数影响的是view自己本身的坐标系:正数坐标系原点向左和向上移动;父数坐标系原点向右和向下移动
//bounds:前两个参数后期:就是(0,0)
view.bounds = CGRectMake(, , , ); view.backgroundColor = [UIColor redColor];
[self.view addSubview:view]; UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(, , , )];
view1.backgroundColor = [UIColor cyanColor];
[view addSubview:view1]; /*******UIView-变形属性**********/
UIView *viewTransform = [[UIView alloc] initWithFrame:CGRectMake(, , , )];
viewTransform.backgroundColor = [UIColor orangeColor];
// 150 270
//变形属性是以中心点为基准的
//变形属性:transform
//大小变形:CGAffineTransformMakeScale width*sx heigth*sy
viewTransform.transform = CGAffineTransformMakeScale(, 0.5);
//角度变形:CGAffineTransformMakeRotation
viewTransform.transform = CGAffineTransformMakeRotation(M_PI_4); //NSStringFromCGPoint 将CGPoint类型转成字符串类型
NSLog(@"%@",NSStringFromCGPoint(viewTransform.center)); [self.view addSubview:viewTransform]; /********UIView-圆角设置***********/
UIView *viewLayer = [[UIView alloc] initWithFrame:CGRectMake(, , , )];
viewLayer.backgroundColor = [UIColor magentaColor]; //圆角设置:layer
//圆角大小:cornerRadius 正方形边长的一半为圆
viewLayer.layer.cornerRadius = ;
//边框设置:borderWidth
viewLayer.layer.borderWidth = ;
//设置边框颜色:borderColor 默认黑色 [UIColor greenColor].CGColor
viewLayer.layer.borderColor = [UIColor greenColor].CGColor;
viewLayer.layer.borderColor = [[UIColor greenColor] CGColor];
//是否切割子视图超出圆角的部分 : YES:切割掉 默认NO:不切割
//如果masksToBounds=YES 阴影效果出不来
viewLayer.layer.masksToBounds = NO; //阴影
//阴影的透明度:shadowOpacity 默认0.0
viewLayer.layer.shadowOpacity = 1.0;
//阴影的偏移量:shadowOffset
viewLayer.layer.shadowOffset = CGSizeMake(, );
//阴影的颜色:shadowColor
viewLayer.layer.shadowColor = [UIColor blueColor].CGColor;
//阴影角度:shadowRadius 带有虚化的效果
viewLayer.layer.shadowRadius = ; [self.view addSubview:viewLayer];
/*************UIView-层次关系***************/
//添加视图:addSubview
[self.view addSubview:view5];
//移除视图:removeFromSuperview
// [view5 removeFromSuperview];
//将某个视图移动到最上面 bringSubviewToFront:
[self.view bringSubviewToFront:view1];
//将某个视图移动到最下面 sendSubviewToBack:
[self.view sendSubviewToBack:view1];
//将某一个视图移动到另一个视图的上面
[self.view insertSubview:view1 aboveSubview:view3];
//将某一个视图移动到另一个视图的下面
[self.view insertSubview:view1 belowSubview:view2];
//将某个视图放到指定的位置
// [self.view insertSubview:view1 atIndex:3];
//交换两个视图的位置
[self.view exchangeSubviewAtIndex: withSubviewAtIndex:];
/***********UIView-响应关系***********/
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(, , , )];
view.backgroundColor = [UIColor blueColor];
[self.view addSubview:view];
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
button.frame = CGRectMake(, , , );
button.backgroundColor = [UIColor purpleColor];
[button setTitle:@"button" forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
[view addSubview:button];
/*
超出父视图范围的部分不参与用户响应,只有在父视图之内的部分才会参与用户响应。
*/
//UILabel
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(, , , )];
label.backgroundColor = [UIColor redColor];
//label 添加的按钮想要展示的话需要将clipsToBounds=YES
//UIView的属性:是否切割多余视图的属性
label.clipsToBounds = YES;
//只有当clipsToBounds=YES时,label的圆角效果才能出来
label.layer.cornerRadius = ;
//userInteractionEnabled 打开用户响应开关的属性 当为YES时:可以参与用户响应 只有UILabel和UIImageView默认NO
/*
只有父视图能够接受用户响应,它上面的子视图才能参与用户响应
*/
label.userInteractionEnabled = YES;
[self.view addSubview:label];
//UIButton
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeSystem];
button1.frame = CGRectMake(, , , );
button1.backgroundColor = [UIColor grayColor];
[button1 setTitle:@"button" forState:UIControlStateNormal];
[button1 addTarget:self action:@selector(buttonDown:) forControlEvents:UIControlEventTouchUpInside];
[label addSubview:button1];
}
//博客园竟然也有这种功能,以前竟没发现...
UIView的更多相关文章
- UIView的layoutSubviews和drawRect方法何时调用
首先两个方法都是异步执行.layoutSubviews方便数据计算,drawRect方便视图重绘. layoutSubviews在以下情况下会被调用: 1.init初始化不会触发layoutSubvi ...
- iOS 自定义方法 - UIView扩展
示例代码 //#import <UIKit/UIKit.h>@interface UIView (LPCView)/** 上 */@property CGFloat top;/** 下 * ...
- UIView上的控件使用push方法跳转
有时候在项目中,为了保持前后页面的推进方式跳转方式一致,会在通过UIview上的控件跳到另一个Controller上,所以,这时候就需要用到这种方式了,当然,present方法可以实现跳转但是样式可能 ...
- IOS 杂笔-11(实现在外部无法改变UIView的size)
我想题目说的或许不是很清楚,那么现在我详细介绍一下这篇随笔内容. 在外部无法改变UIVIew控件的size. 这里说是UIView,但是事实上,是大多数控件而绝非仅UIView. 想要实现在外部无法改 ...
- iOS系列 基础篇 05 视图鼻祖 - UIView
iOS系列 基础篇 05 视图鼻祖 - UIView 目录: UIView“家族” 应用界面的构建层次 视图分类 最后 在Cocoa和Cocoa Touch框架中,“根”类时NSObject类.同样, ...
- 5. UIView
1. UIView 的初认识 官方文档 UIView class defines a rectangular area on the screen and the interfaces for man ...
- Swift - UIView,UItableView,Cell设置边框方法
// 设置边框的宽度 cell.layer.borderWidth = 1 // 设置边框的颜色 cell.layer.borderColor = UIColor.blackColor().CGCol ...
- iOS 使点击事件穿透透明的UIView
如图: 悬浮的三个按钮下方有一个可以点击的灰色区域,但是点击按钮之间的透明区域, 这三个按钮的contentView会响应这个点击事件,这时候需要让这个contentView不响应这个点击事件. 解决 ...
- iOS----自定义UIView,绘制一个UIView
绘制一个UIVIew最灵活的方式就是由它自己完成绘制.实际上你不是绘制一个UIView,你只是子类化了UIView并赋予子类绘制自己的能力.当一个UIVIew需要执行绘图操作的时,drawRect:方 ...
- UIView的几个layout方法
iOS layout的相关方法: 1,layoutSubviews 2,layoutIfNeeded 3,setNeedsLayout 4,setNeedsDisplay 5,drawRect 6,s ...
随机推荐
- 深入理解闭包系列第三篇——IIFE
× 目录 [1]实现 [2]用途 前面的话 严格来讲,IIFE并不是闭包,因为它并不满足函数成为闭包的三个条件.但一般地,人们认为IIFE就是闭包,毕竟闭包有多个定义.本文将详细介绍IIFE的实现和用 ...
- EF循环迭代导致如此严重的性能丢失,你知道?
前言 在工作当中呢,没怎么用到过EF,所以为了遗忘这一部分知识,偶尔会去写写小的demo,偶然机会在EF循环迭代中发现居然影响性能这么严重,当我们在用时或许大概也许可能都曾这样写过,但是你注意到了吗, ...
- etlpy: 并行爬虫和数据清洗工具(开源)
etlpy是python编写的网页数据抓取和清洗工具,核心文件etl.py不超过500行,具备如下特点 爬虫和清洗逻辑基于xml定义,不需手工编写 基于python生成器,流式处理,对内存无要求 内置 ...
- aud$定位错误用户密码登陆数据库的具体信息
环境:Oracle 11.2.0.3 客户端使用错误的用户密码登陆数据库 查询最近1天由于密码错误登陆失败的信息 查询当前审计中有哪些returncode值 1. 客户端使用错误的用户密码登陆数据库 ...
- 学习SpringMVC——如何获取请求参数
@RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieValue)!她(@ModelAndView) ...
- git开发流程、常用命令及工具、TortoiseGit使用及常见问题
根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支. 一.开发流程 - 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上br ...
- NET开发学习项目资源(2)
NET开发学习项目资源 击标题链接即可下载. 目录: 1.征婚交友网站 前台交友信息和后台会员管理两大部分组成. 前台功能模块 该模块主要包括查询交友信息.显示交友信息.会员登录.会员信息管理.修改会 ...
- PHP中curl_init函数用法
使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网 页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并 ...
- SQL Server时间粒度系列----第7节日历数据表详解
本文目录列表: 1.时间粒度有关描述 2.时间维度有关功能函数3.日历数据表 4.日历数据表数据填充 5.总结语 6.参考清单列表 时间粒度有关描述 将该系列涉及到的时间粒度以及分钟以下的粒度 ...
- 在IIS7.5中ASP.NET调用cmd程序拒绝访问决绝方法小记
前言 昨天利用Github的Webhook实现自动部署站点,其中要调用命令行(cmd.exe)程序执行shell脚本. 在本地测试没有任何问题,部署到服务器之后,发现错误信息:访问拒绝. 问题 没有权 ...