iOS 犄角旮旯的知识
1、全局变量
static NSInteger kImageHeight = 300;
#define kImageHeight 300
2、通知中心
开始编辑
UITextViewTextDidBeginEditingNotification
正在更改
UITextViewTextDidChangeNotification
结束编译
UITextViewTextDidEndEditingNotification
//注册文字改变通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textDidChangeNotifition:) name:UITextViewTextDidChangeNotification object:nil];
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:UITextViewTextDidChangeNotification object:nil];
}
3、动态加载(不用导入头文件)
NSArray * vcNames1 = @[@"FriendViewController"];
NSArray * vcNames2 = @[@"SwipeViewController",@"SharkViewController"];
self.viewControllers = @[vcNames1,vcNames2];
NSString * vcName = self.viewControllers[indexPath.section][indexPath.row];
UIViewController * vc = [[NSClassFromString(vcName) alloc] init];
例如:自定义Button类:UIButton
在viewController 声称对应button对象 进行重写init方法来定义 类型
不能在button类中写button属性 因为在懒加载中 添加点击事件 调不到
4、更改图片颜色; 忽略它的颜色信息
image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
5、项目结构
6、 当导航视图控制器压栈时,隐藏tabbar
vc.hidesBottomBarWhenPushed = YES;
7、图片加边框,代码:
imageLayer.borderColor = [UIColor grayColor].CGColor; //边框颜色
imageLayer.borderWidth = 2.0; //边框宽度
8、磊神教学Block
(1)声明block变量并设置返回值类型
typedef NSString *(^MYBlock)(NSString *);
@property (nonatomic, copy) MYBlock block;
(2)调用Block方法(发送),并接收返回值
NSString * string = self.block(@"123”);
NSLog(@“%@“,string);
(3)调用Block方法(接收),并接收返回值
self.ceshi.block = ^ (NSString *string) {
NSLog(@"%@",string);
return@“peng";
};
(4)利用typedef定义block类型(和指向函数的指针很像)
(类)Typedef int(^MyBlock)(int ,int);
以后就可以利用这种类型来定义block变量了。
(类)MyBlock block1,block2;
(类)int i = block1(3,4);
(主)block1=^(int a,int b){
return a-b;
};
__weak ViewController *mySelf = self; block中避免循环引用
iOS 犄角旮旯的知识的更多相关文章
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- iOS网络相关知识总结
iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...
- iOS网络基础知识
iOS网络基础知识 1.一次HTTP请求的完整过程 (1)浏览器或应用发起Http请求,请求包含Http请求Http(请求),地址(url),协议(Http1.1)请求为头部 (2)web服务器接收到 ...
- iOS底层基础知识-文件目录结构
一:iOS沙盒知识 出于安全考虑,iOS系统把每个应用以及数据都放到一个沙盒(sandbox)里面,应用只能访问自己沙盒目录里面的文件.网络资源等(也有例外,比如系统通讯录.照相机.照片等能在用户授权 ...
- iOS开发——总结篇&IOS开发基础知识
IOS开发基础知识 1:Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id) 对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断 ...
- iOS中多线程知识总结(一)
这一段开发中一直在处理iOS多线程的问题,但是感觉知识太散了,所以就把iOS中多线程的知识点总结了一下. 1.基本概念 1)什么是进程?进程的特性是什么? 进程是指在系统中正在运行的一个应用程序. ...
- IOS开发基础知识--碎片7
三十八:各个版本IPHONE分辨率及图片的实现原理 desert@2x : iPhone 4s ( x ) desert-568h@2x : iPhones , 5C and 5S ( x ) des ...
- IOS开发基础知识--碎片13
1:运行程序报the file couldn't be opened because you don't have permission to view it 解决办法:项目—>targets- ...
- IOS开发基础知识--碎片33
1:AFNetworking状态栏网络请求效果 直接在AppDelegate里面didFinishLaunchingWithOptions进行设置 [[AFNetworkActivityIndicat ...
随机推荐
- 查询processlist具体信息
SELECT * FROM information_schema.PROCESSLIST WHERE HOST LIKE '%172.16.10.22%' AND COMMAND <> ' ...
- emWin(ucGUI)在PC机上模拟的按键响应多次解决办法 worldsing
emWin(ucgui) 在PC端的模拟器,默认的按键机制是"按抬都Msg",当在按下键盘时,会收到一个key值-1,在按键没有离开时一直维持,当按键松开时还发送一个key值-0的 ...
- struts2 集成 easyui
关键点: json数据格式 获取json数据 输出json 分页 #json数据格式# datagrid: {"total":1,"rows":[{" ...
- 建表的sql
1. 创建用户表 create table user( id int unsigned not null primary key auto_increment comment '自增id', user ...
- 结构类模式(三):组合(Composite)
定义 将对象组合成树形结构以表示“部分整体”的层次结构.组合模式使得用户对单个对象和组合对象的使用具有一致性. 有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客 ...
- OC: 数组、集合、字典
数组.字典.集合 参考1 参考2 参考3 参考4 参考5 NSArray * nn = @[@"元素1",@"元素2",@"元素3&quo ...
- thinkphp 3+ 观后详解 (5)
static public function dispatch() { $varPath = C('VAR_PATHINFO'); $varAddon = C('VAR_ADDON'); $varMo ...
- C# 动态执行批处理命令
本文转载:http://www.cnblogs.com/lenic/p/4097045.html C# 动态执行一系列控制台命令,并允许实时显示出来执行结果时,可以使用下面的函数.可以达到的效果为: ...
- U8记账凭证修改方法汇总
在输入记账凭证时,尽管账务系统提供了多种控制错误的措施,但错误凭证的出现是难免的,为此,系统必须能够提供对错误凭证修改的功能.目前,许多财 务软件(如:用友.安易.三门)都提供了“反审核.反记账.反结 ...
- IPv6 相关的工作简介
这里说明下,仅仅是IPv6在开发板上的相关的工作简介,没有很详细,都是自己一边积累,一边实践的.能帮助其他人最好,也算是给自己做个备忘录. 一.首先说下DHCPv6相关的.这里我使用的是DHCP6s. ...