UIview lianxi】的更多相关文章

// 创建一个和屏幕大小相同的window,记住[UIScreen mainScreen].bounds 是获取当前屏幕大小 self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // 设置window的背景颜色 self.window.backgroundColor = [UIColor grayColor]; // 将window设置上,并让window显示 […
首先两个方法都是异步执行.layoutSubviews方便数据计算,drawRect方便视图重绘. layoutSubviews在以下情况下会被调用: 1.init初始化不会触发layoutSubviews.2.addSubview会触发layoutSubviews.3.设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化.4.滚动一个UIScrollView会触发layoutSubviews.5.旋转Screen会触发父UIView上的layo…
示例代码 //#import <UIKit/UIKit.h>@interface UIView (LPCView)/** 上 */@property CGFloat top;/** 下 */@property CGFloat bottom;/** 左 */@property CGFloat left;/** 右 */@property CGFloat right;/** 中心x */@property CGFloat centerX;/** 中心y */@property CGFloat ce…
有时候在项目中,为了保持前后页面的推进方式跳转方式一致,会在通过UIview上的控件跳到另一个Controller上,所以,这时候就需要用到这种方式了,当然,present方法可以实现跳转但是样式可能不同,这时候在我的想法可以使用代理或者回调,当你不熟悉时,就用到了这个方法: 1.参考别人的方法:   http://gekie.iteye.com/blog/1133460 2.使用响应者链的方法... 1> 假定你的项目中有文件 UIViewContronllerA, UIViewContron…
我想题目说的或许不是很清楚,那么现在我详细介绍一下这篇随笔内容. 在外部无法改变UIVIew控件的size. 这里说是UIView,但是事实上,是大多数控件而绝非仅UIView. 想要实现在外部无法改变size该怎么做呢. 首先是重写setFrame使其规定本身size,如下 // // TestView.m // CX-实现在外部无法改变UIView的Size // // Created by ma c on 16/3/25. // Copyright © 2016年 xubaoaichiyu…
iOS系列 基础篇 05 视图鼻祖 - UIView 目录: UIView“家族” 应用界面的构建层次 视图分类 最后 在Cocoa和Cocoa Touch框架中,“根”类时NSObject类.同样,在UIKit框架中,也存在一个神奇的类——UIView. 从继承关系上看,UIView是所有视图的根,我们形象地称其为“始祖”. 本篇,咱们就一起研究UIView的神奇所在. 1. UIView“家族” UIView“家族”大体分为“控件”和“视图”两类,二者均继承于UIView. UIView类的…
1. UIView 的初认识 官方文档 UIView class defines a rectangular area on the screen and the interfaces for managing the content in that area.At runtime, a view object handles the rendering of any content in its area and also handles any interactions with that …
// 设置边框的宽度 cell.layer.borderWidth = 1 // 设置边框的颜色 cell.layer.borderColor = UIColor.blackColor().CGColor // 设置UIView的边框为圆角和展现 cell.layer.cornerRadius = 10 //自动遮罩不可见区域,超出的不显示 cell.layer.masksToBounds = true cell.backgroundColor = UIColor.whiteColor()…
如图: 悬浮的三个按钮下方有一个可以点击的灰色区域,但是点击按钮之间的透明区域, 这三个按钮的contentView会响应这个点击事件,这时候需要让这个contentView不响应这个点击事件. 解决方法如下(将此方法增加到这个contentView类中即可): - (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)event{ UIView *hitView = [super hitTest:point withEvent:event];…
绘制一个UIVIew最灵活的方式就是由它自己完成绘制.实际上你不是绘制一个UIView,你只是子类化了UIView并赋予子类绘制自己的能力.当一个UIVIew需要执行绘图操作的时,drawRect:方法就会被调用.覆盖此方法让你获得绘图操作的机会.当drawRect:方法被调用,当前图形上下文也被设置为属于视图的图形上下文.你可以使用Core Graphics或UIKit提供的方法将图形画到该上下文中. 你不应该手动调用drawRect:方法!如果你想调用drawRect:方法更新视图,只需发送…
iOS layout的相关方法: 1,layoutSubviews 2,layoutIfNeeded 3,setNeedsLayout 4,setNeedsDisplay 5,drawRect 6,sizeThatFits 7,sizeToFit   大概有以上几个.   一,layoutSubviews 这个方法,默认没有做任何事情,需要子类进行重写.layoutSubviews会在以下情况下被调用: 1,init初始化不会触发layoutSubviews,如果设置了不为CGRectZero的…
iOS  中的 UIView 动画编程其实还是很简单的,像 CSS3 一样,在给定的时间内完成状态连续性的变化呈现.比如背景色,Frame 大小,位移.翻转,特明度等. 以前我使用的编程方式都是用下面那样的三段式处理: 1 2 3 4 5 6 7 8     [UIView beginAnimations:nil context: nil];     [UIView setAnimationDuration:1.0];           //要动画改变的属性     self.view.alp…
//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:CG…
前言 UIView 不像 UIButton 加了点击事件就会有点击效果,体验要差不少,这里分别通过自定义和扩展来实现类似 UIButton 的效果. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一.为 UIView 添加点击事件 extension UIView { func addOnClickListener(target: AnyObject, action: Sel…
总结一下布局UIView 1.Laying out Subviews(布局子视图) 系统提供了相关的三个api - (void) layoutSubviews 在IOS5.1和之前的版本,此方法的缺省实现不会做任何事情(实现为空),IOS5.1之后(IOS6开始)的版本,此方法的缺省实现是使用你设置在此view上面的constraints(Autolayout) 去决定subviews的position和size.UIView的子类如果需要对其Subviews进行更精确的布局,则可以重写此方法.…
- (UIView *)lineView{ if (!_lineView) { _lineView = [UIView new]; // _lineView.backgroundColor = UIColorWithRGB(127, 127, 127); _lineView.frame = CGRectMake(, - - - , ); CAShapeLayer *shapeLayer = [CAShapeLayer layer]; [shapeLayer setBounds:_lineView…
这是个很有用的列别工具类,在聊天对话框添加和QQ一样的"复制.粘贴.取消"等选项,而且使用起来很方便,只要找到聊天泡泡内部的某个View,比如Label或者背景冒泡的UIImageView,直接add...即可实现下面的效果: 直接上源码: UIView+PressMenu.h #import <UIKit/UIKit.h> @interface UIView (PressMenu) @property (strong, nonatomic) NSArray *menuTi…
1,UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的.而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到  UIGraphicsGetCurrentContext,就可以画画了.而setNeedsLayout会默认调用layoutSubViews, 就可以  处理子视图中的一些数据. 综上所诉,setNeedsDisplay方便绘图,而layoutSubViews方便出来数据. layoutSubviews在…
UIScreen: 代表当前这个屏幕,通过UIApplication可以获得这个属性 UIView:   一个矩形试图,包含用户手势和时间响应 UIViewController: 一个UIView的集合类,是用来管理一群View的 UIWindow: 当前项目视图的根类,所有View都在这个Window容器中…
iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码放在[UIViewbeginAnimations:nil context:nil]和[UIView commitAnimations]之间 常见方法解析: + (void)setAnimati…
//启动页动画 UIImageView *launchScreen = [[UIImageView alloc]initWithFrame:[UIScreen mainScreen].bounds]; launchScreen.image = [UIImage imageNamed:@"launchScreen"]; [self.window addSubview:launchScreen]; [UIView animateWithDuration:1.0f animations:^{…
UIView 等会效果简单实现,哪一个登录页面的demo来举例子吧. + (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations; UIView的一个类方法,可以看出这个方法里面只有两个参数: duration: 动画持续时间; animations:动画闭包,在这个闭包中你可以改变UIView的各种动画属性(这个方法中可以同时改变多个属性); // 闭包里面是textFie…
UIView类中定义了三个属性,分别是frame.bounds与center属性: IKit中的坐标系X轴正方向为水平向右,Y轴正方向为竖直向下. frame属性指的是视图在其父视图坐标系中的位置与尺寸.在创建视图时,我们就需要在初始化方法中指定视图的frame: - (id)initWithFrame:(CGRect)frame; 这样创建了视图之后,通过addSubview:方法就可以将创建的子视图放置在父视图的指定位置,并以指定的尺寸显示出来. center属性理解起来也很简单,它就是视图…
/** *  在父视图中重写该方法,这样可使超出部分响应事件. */ - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {    UIView *view = [super hitTest:point withEvent:event];    if (view == nil) {        for (UIView *subView in self.subviews) {            CGPoint tp =…
今天遇到一个问题,具体问题就不细说了,总之是UIView的动画导致的. 研究结果表明,UIViewController被挡住或没显示出来时,用UIView的静态方法animateWithDuration:animations:completion:实现其中view的动画,动画结束的block的bool型参数finished,居然为NO:UIViewController没挡住时为YES.所以动画结束时,不能用finished为YES来决定动画是否结束. 查到苹果官方文档如下: 苹果只是说iOS5之…
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高. 1 2 3 4 5 6 7 8 9 enum {    UIViewAutoresizingNone                 = 0,    UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,    UIViewAutoresizingFlexibleWidth        = 1 &l…
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); UI 即:用户界面   UIWindow的使用 用法 对UIWindow 进行初始化 IOS 程序的入口 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NS…
Animation主要分为两类: 1.UIView属性动画 2.CoreAnimation动画 一.UIView属性动画 UIKit直接将动画集成到UIView类中,实现简单动画的创建过程.UIView类定义了几个内在支持动画的属性声明,当这些属性发生改变时,视图为其变化过程提供内建的动画支持. 1.常见方法: + (void)setAnimationDelegate:(id)delegate——设置动画代理对象: + (void)setAnimationWillStartSelector:(S…
核心动画与UIView的区别 1.核心动画只作用于layer,使用核心动画之前,必须有layer 2.核心动画只是假象,并没有移动实际位置 什么时候使用核心动画,什么时候使用UIView动画 1.当不需要与用户进行交互时,使用核心动画或者UIView动画都可以 2.如果需要与用户进行交互,则必须要使用UIView动画 使用核心动画的场景 1.当需要转场时,用核心动画,核心动画有非常多的转场类型 2.想要根据已个路径做动画时,必须要用核心动画…
@interface CountryViewController //背景 @property (strong, nonatomic) UIView *BackView; end //设置背景虚化 -(UIView *)BackView{ if (!_BackView) { _BackView = [[UIView alloc]initWithFrame:self.view.bounds]; //背景虚化 UIColor *myColor = [UIColor colorWithWhite:0.…