实际上,@property声明的是属性,并不是实例变量。但是编译器会根据属性,自动生成实例变量,和对应的access方法。所以已经在interface里声明了@property,就不再需要在implementation里再声明实例变量了。要记住,属性不是实例变量,而是根据属性会生成实例变量(和对应的access方法)。所以,属性名叫name,而实例变量的名字并不是name。在我这个环境ios7+xcode5,命名规则似乎是在属性前面加上_因为oc中点表达式是表示调用方法,...
用UITextField都知道,默认有个提示,原理是kvc,监听,textField.placeholder = @"This is textField.placeholder"; [textField setValue:[UIColor green] forKeyPath:@"_placeholderLabel.textColor"]; [textField setValue:[UIFont boldSystemFontOfSize:15] forKeyPath:@"_placeholderLabel.font"]; 本文出自 “雪花飞落满人间” 博客,请务必保留此出处http://smengxiang.blog.51cto.com/11204872/1860694原文:http://sme...
一、alpha
液晶显示器是由一个个的像素点组成的,每个像素点都可以显示一个由RGBA颜色空间组成的一种色值。其中的A就表示透明度alpha,UIView中alpha是一个浮点值,取值范围0~1.0,表示从完全透明到完全不透明。
1、alpha会影响自己的透明度,同时也会影响subView的透明度。
2、alpha设为空之后,UIView不会从响应者链中移除,仍然可以收到event。
3、更改alpha,默认是有动画效果的,这是因为图层在Cocoa中是由Core Animation中CAL...
1.UIButton状态:UIControlStateNormal // 正常状态 UIControlStateHighlighted // 高亮状态 UIControlStateDisabled // 禁用状态 UIControlStateSelected // 选中状态 UIControlStateApplication // UIControlStateReserved // 保留状态2.Uibutton类型:UIButtonTypeCustom //自定义类型UIButtonTypeRoundedRect //圆角类型UIButtonTypeDetailDisclosure ...
iOS对UIViewController生命周期和属性方法的解析一、引言 作为MVC设计模式中的C,Controller一直扮演着项目开发中最重要的角色,它是视图和数据的桥梁,通过它的管理,将数据有条有理的展示在我们的View层上。iOS中的UIViewController是UIKit框架中最基本的一个类。从第一个UI视图到复杂完整项目,都离不开UIViewController作为基础。基于UIViewController的封装和扩展,也能够出色的完成各种复杂界面逻辑。这篇博客,旨在讨...
:active伪类是在类似‘mousedown‘事件触发的时机生效的,而手机上并没有‘mousedown‘事件,取而代之的只有‘touchstart‘和‘touchend‘。只需要给这个a链接的touch系列的任意事件touchstart/touchend绑定一个空的匿名方法即可hack成功var a = document.getElementsByTagName(‘a‘);for(var i = 0; i < a.length; i++) { a[i].addEventListener(‘touchstart‘,function(){},false); }添加以上代码,touch按下去后,发现a的...
?父类指针可以指向子类对象?//定义block别名。typedef void (^LYItemOption)();@interface LYItemArrow : LYItem@property(nonatomic,strong) Class desController;@property(nonatomic,copy) LYItemOption option;??1.strong :除NSString\block以外的OC对象? @property(nonatomic,strong) NSArray? *<#model#>;2.weak:各种UI控件(但不是绝对,也有控件要使用strong属性的)? ?@property (nonatomic,weak) UIButton *button;3.assi...
原文:http://www.cnblogs.com/wzk89/p/3939782.html属性列表文件是一种XML文件,Foundation框架中的数组和字典等都可以于属性列表文件相互转换。NSArray类常用读写属性列表文件的方法:+arrayWithContentsOfFile:类级构造方法,用于从属性列表文件中读取数据,创建NSArray对象。-initWithContentsOfFile:实例构造方法,用于从属性列表文件中读取数据,创建NSArray对象。-writeToFile:atomically:该方法把NSArray对象写入到属性...
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。enum {UIViewAutoresizingNone = 0,UIViewAutoresizingFlexibleLeftMargin = 1 << 0,UIViewAutoresizingFlexibleWidth = 1 << 1,UIViewAutoresizingFlexibleRightMargin = 1 << 2,UIViewAutoresizingFlexibleTopMargin = 1 << 3,UIViewAutoresizingFlexibleHeigh...
1、所有控件都继承自UIView,UIView的常见属性如下:@property(nonatomic,readonly) UIView *superview;获得自己的父控件对象@property(nonatomic,readonly,copy) NSArray *subviews;获得自己的所有子控件对象@property(nonatomic) NSInteger tag;控件的ID\标识,父控件可以通过tag来找到对应的子控件@property(nonatomic) CGAffineTransform transform;控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)@property(nonato...
@当我们在一个UIViewController中同时创建2个tableView的时候,如果把它们的frame中的Y坐标设置为一样,你可能会发现它们的位置并没有达到你想要的结果.比如第一tableView个frame(0,0,320,568),另一个也frame(0,0,320,568),结果会发现第二个tableView的第一行数据被导航栏遮挡了,以至于我们不得已把第二个frame改成(0,64,320,568-64),虽然效果变成了我们想要的,但是却不知道这是什么原因.......其实这一切都是automaticallyAdjustsSc...
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; //能够定义的button类型有以下6种 /*typedef enum{ UIButtonTypeCustom = 0; 自定义风格 UIButtonTypeRoundedRect, 圆角矩形 UIButtonTypeDetailDisclosure 蓝色小箭头按钮,主要做详细说明用 UIButtonTypeInfoLight // 亮色感叹号 UIButtonTypeInfoDark 暗色感叹号 UIButtonTypeContactAdd 十字加号按钮 }...
假设需要解决的问题:写代码时遇到一种情况,就是需要判断iOS版本,可能低版本和高版本需要增减一些代码,此时,如何判断iOS版本?(1)第一步,当然度娘,输入“iOS 判断系统版本”。(2)第二步:打开前几个你会发现,其实都有[UIDevicecurrentDevice]的身影,就算是新手,估计也知道UIDevice应该是个大BOSS,我们在自己的xcode里面输入这个。(3)第三步:我们按住CMD时鼠标经过UIDevice时时可以点击的,所以点击吧少年,然后就...
//// WJRuntime.m
// RuntimeSkip
//// Created by tqh on 15/9/8.
// Copyright (c) 2015年 tqh. All rights reserved.
//
#import"WJRuntime.h"#import <objc/runtime.h>
@implementation WJRuntime//runtime跳转+ (void)runtimePush:(NSString *)vcName dic:(NSDictionary *)dic nav:(UINavigationController *)nav {//类名(对象名) NSString *class = vcName;constchar *className = [class cStringUsingEncoding:NSASC...
当你定义了一系列的变量时,需要写很多的getter和setter方法,而且它们的形式都是差不多的,,所以Xcode提供了@property
和@synthesize属性,@property用在 .h 头文件中用作声明,@synthesize用在.m 文件中用于实现。如下,新建一个基于“Command Line Tool”的项目,名为“property”,再新建一个Student类,传统的写法是:Student.h[cpp]view plaincopy// // Student.h // property // // Created by Rio.King on 13-8-2...