UIView

创建一个工程之后改成MRC分4步

1、创建完空模板之后,修改环境为MRC

2、将AppDelegate.h文件中的strong改为retain

3、在AppDelegate.m文件中重写dealloc方法将实例变量_window释放一次

4、在创建的window对象的最后加autorelease,完成内存管理

UIView的基本属性:

添加视图:

移动视图的位置:

随机色: [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1.0]

视图如果不给定背景色,默认是透明

与屏幕等大:

View *view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

与window等大:

View *view = [[UIView alloc] initWithFrame:[self.window bounds]];

frame、bounds、center之间的区别

frame:一个视图默认其左上角点就是这个视图的坐标系原点,并且每一个视图都有自己的坐标系,一个视图布局时,frame中的X,Y是相对于父视图坐标系原点的距离

center:一个视图的中心点与视图的frame是息息相关的,center与frame都是相对于父视图来说的,视图中心点center.x为视图本身frame中的x值加上视图本身宽的一半

1、frame、center是相对于父视图而言的,改变视图本身是frame、center会直接影响自身在其父视图上的显示位置

2、bounds是相对于自身而言的,改变bounds的值会影响自身坐标系原点的位置,进而影响子视图在其上的显示位置

3、一个视图bounds的默认值为(0,0,宽,高),因为bounds前面的两个值x,y代表的含义是视图本身左上角点距离其自身坐标系原点的距离,因为视图本身坐标系与左上角重合,所以是0

4、改变一个视图的bounds中的x,y值,不会造成自身位置的变化,因为父视图的bounds没有改变,自身的frame以及center没有任何变化,所以与父视图的关系没有任何变化,所以不会动。

5、改变一个视图的bounds中的宽和高,他是延中心放大或者缩小

应用程序启动流程

1、也是从main函数入口,找到应用程序代理

2、应用程序delegate的类名是任何接受了UIApplicationDelegate的类

3、应用代理的作用,根据应用程序传递过来的状态做出相应的处理

4、一旦应用程序的某种状态触发,就会执行相应的代理方法

时间: 2024-10-27 00:17:41

UIView的相关文章

CALayer 与 UIView

1.关系 On iOS, every UIView is backed by a Core Animation CALayer. Simply speaking,UIView inherit from NSResponder,handle events from users, contains CALayer,which inherit from NSObject,mainly focus on rendering,animation etc. One thing UIViews provide

UIView /  UIView的布局

//! 一个视图可以有n个子视图,但是一个视图只能有一个父视图 struct CGRect {   CGPoint origin;   CGSize size; }; CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height) {   CGRect rect;   rect.origin.x = x; rect.origin.y = y;   rect.size.width = width; rect.size.height =

IOS - UIView添加点击事件

UIView通过手势(Gesture-UITapGestureRecognizer)添加点击事件, 类似于UIButton的效果. 示例: UIImageView *iKnowIcon = [CYResource loadImageView:@"free-question-once-more-i-know.png"]; iKnowIcon.top = questionIcon.top + scaleWidthWith320(200); iKnowIcon.centerX = self.

【iOS开发-触摸】移动的UIView例子

iOS触摸 方法: //开始接触 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; - //在屏幕上移动 - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; - //触摸结束 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; - //取消触摸 - (voi

Objective - C学习笔记:UIView的使用方法

1.1 - (void)layoutSubviews; * 当一个控件的frame发生改变的时候就会自动调用 * 一般在这里布局内部的子控件(设置子控件的frame) * 一定要调用super的layoutSubviews方法 1.2 - (void)didMoveToSuperview; * 当一个控件被添加到父控件中就会调用 1.3 - (void)willMoveToSuperview:(UIView *)newSuperview; * 当一个控件即将被添加到父控件中会调用 @interf

<iOS小技巧>UIview指定设置控件圆角

一.用法: 众所周知,设置控件的圆角使用layer.cornerRadius属性即可,但是这样设置成的结果是4个边角都是圆角类型. 利用班赛尔曲线画角: //利用班赛尔曲线画角 UIBezierPath *bezierPath = [UIBezierPath bezierPathWithRoundedRect:button.bounds byRoundingCorners:(UIRectCornerBottomLeft |UIRectCornerBottomRight) cornerRadii:

iOS开发-UI (一)补充 UIWindow UIView UIlabel

之前忘了把这些整理出来,现在补充一下,应该放在前面学习的 知识点: 1.UI的初步认识 2.UIWindow 3.UIView 4.UIlabel ======================== UI的初步认识 1.什么是UI(*) UI即User Interface(用户界面)的简称.UI设计则是指对软 件的人机交互.操作逻辑.界面美观的整体设计.好的UI设 计不仅是让软件变得有个性有品味,还要让软件的操作变得 舒适.简单.自由.充分体现软件的定位和特点. 2.第一个UI工程 1)UI工程的

UIView的常见方法

- (void)addSubview:(UIView *)view; 添加一个子控件view - (void)removeFromSuperview; 将自己从父控件中移除 - (UIView *)viewWithTag:(NSInteger)tag; 根据一个tag标识找出对应的控件(一般都是子控件)

UIView的常见属性

@property(nonatomic,readonly) UIView *superview; 获得自己的父控件对象 @property(nonatomic,readonly,copy) NSArray *subviews; 获得自己的所有子控件对象 @property(nonatomic) NSInteger tag; 控件的ID(标识),父控件可以通过tag来找到对应的子控件 @property(nonatomic) CGAffineTransform transform; 控件的形变属性

UIView的分类--iOS

#import <UIKit/UIKit.h> @interface UIView (PJXExtension) @property(assign,nonatomic) CGFloat x; //x坐标 @property(assign,nonatomic) CGFloat y; //y坐标 @property(assign,nonatomic) CGFloat width; //宽度 @property(assign,nonatomic) CGFloat height; //高度 @prop