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 犄角旮旯的知识的更多相关文章

  1. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  2. iOS网络相关知识总结

    iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...

  3. iOS网络基础知识

    iOS网络基础知识 1.一次HTTP请求的完整过程 (1)浏览器或应用发起Http请求,请求包含Http请求Http(请求),地址(url),协议(Http1.1)请求为头部 (2)web服务器接收到 ...

  4. iOS底层基础知识-文件目录结构

    一:iOS沙盒知识 出于安全考虑,iOS系统把每个应用以及数据都放到一个沙盒(sandbox)里面,应用只能访问自己沙盒目录里面的文件.网络资源等(也有例外,比如系统通讯录.照相机.照片等能在用户授权 ...

  5. iOS开发——总结篇&IOS开发基础知识

    IOS开发基础知识 1:Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id) 对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断 ...

  6. iOS中多线程知识总结(一)

    这一段开发中一直在处理iOS多线程的问题,但是感觉知识太散了,所以就把iOS中多线程的知识点总结了一下. 1.基本概念 1)什么是进程?进程的特性是什么? 进程是指在系统中正在运行的一个应用程序.   ...

  7. IOS开发基础知识--碎片7

    三十八:各个版本IPHONE分辨率及图片的实现原理 desert@2x : iPhone 4s ( x ) desert-568h@2x : iPhones , 5C and 5S ( x ) des ...

  8. IOS开发基础知识--碎片13

    1:运行程序报the file couldn't be opened because you don't have permission to view it 解决办法:项目—>targets- ...

  9. IOS开发基础知识--碎片33

    1:AFNetworking状态栏网络请求效果 直接在AppDelegate里面didFinishLaunchingWithOptions进行设置 [[AFNetworkActivityIndicat ...

随机推荐

  1. SOA和Web Service介绍

    博客园中关于SOA和Web Service的介绍 http://www.cnblogs.com/talentbuilder/archive/2010/05/04/1727044.html http:/ ...

  2. CreateWaitableTimer和SetWaitableTimer函数(定时器)

    用户感觉到软件的好用,就是可以定时地做一些工作,而不需要人参与进去.比如每天定时地升级病毒库,定时地下载电影,定时地更新游戏里的人物.要想 实现这些功能,就可以使用定时器的API函数CreateWai ...

  3. js判断滚动方向

     //页面滚动监听事件     window.onscroll = function (e) {                scrollFunc();         $("#t&quo ...

  4. vs2013修改默认的开发环境

    可能会有朋友和我一样,当安装完VS完成之后,没有选择默认的开发模板,在后面添加新项目时,总是不能选择默认的开发语言,下面给出个简单步骤,记录一下以备用. 看图吧 1.工具>导入和导出设置 2.选 ...

  5. hibernate的配置文件

  6. JavaScript 各种遍历方式详解,有你不知道的黑科技

    http://segmentfault.com/a/1190000003968126 为了方便例子讲解,现有数组和json对象如下 var demoArr = ['Javascript', 'Gulp ...

  7. GIT 中提示 please tell me who you are

    如果使用git过程中出现了,please tell me who you are ,需要设置一下使用者的身份. 1.git config user.name "username" ...

  8. tomcat配置文件server.xml具体解释

    元素名 属性 解释 server port 指定一个port,这个port负责监听关闭tomcat 的请求 shutdown 指定向port发送的命令字符串 service name 指定servic ...

  9. 20 个用于处理页面滚动效果的 jQuery 插件

    对设计和开发一个网站来说,web开发者不能低估了网站滚动效果的重要性.如今,设计者们都视为一大挑战了,在网站中设计出吸引眼球的高效视觉滚动效果.幸运的是有各种各样的jquery 滚动插件可供他们使用, ...

  10. Java虚拟机的启动与程序的执行

    这篇文章是从 OpenJDK 源码的角度讲当我们执行了 java -classpath . hello 之后,java.exe 怎样从 main 函数開始运行,启动虚拟机,并运行字节码中的代码. 实验 ...