小知识点的整理

1、设置白色状态栏

状态栏的设置

2、登陆页面textfield的处理

3、ipad的横竖屏适配


竖屏


横屏

1:mainviewcontroller中

2、单独定义一个协议,选装时调用


3、旁边的tabbar


4、dock中有iconView tabbar  bottomMenu



4、为什么我每次获取的屏幕高度都是480宽度都是320

1.不添加相应图片的话,审核过不了.

例如"As of May 1, all new iPhone apps and app updates submitted must support the 4-inch display on iPhone 5. All apps must include a launch image of the appropriate size. Learn more about iPhone 5 support by reviewing the iOS Human Interface Guidelines."

2.只有480的话,屏幕上下自动补黑条.

3.原理:

由于5,5s上市时,需要兼容之前版本的App,同时要减少适配的开发成本.最后就出了唯一的一个判断标准:如果有相应设备尺寸的开机图,系统就当你这个App针对新设备做过适配,否则就按照480x320来算.

后来出了6,6p就沿用了同样的适配规则.

5、autorelease什么时候会自动释放,如何控制不让他释放


在Iphone项目中,大家会看到一个默认的Autorelease pool,程序开始时创建,程序退出时销毁,按照对Autorelease的理解,岂不是所有autorelease pool里的对象在程序退出时才release, 这样跟内存泄露有什么区别?

答案是,对于每一个Runloop, 系统会隐式创建一个Autorelease pool,这样所有的release pool会构成一个象CallStack一样的一个栈式结构,在每一个Runloop结束时,当前栈顶的Autorelease pool会被销毁,这样这个pool里的每个Object会被release。

那什么是一个Runloop呢? 一个UI事件,Timer call, delegate call, 都会是一个新的Runloop。

一般异步执行的代码都需要重新创建autorelease pool,对于在主线程中执行的非UI事件部分的 autorelease 会在什么时候释放呢?

The autoreleased objects will be deallocated when, the closest enclosing autorelease pool on the stack of the thread on which the -autorelease message has been sent, gets drained or released.

6、给UIImageView 设置圆角

originalView.layer.masksToBounds=YES;//方法告诉layer将位于它之下的layer都遮盖住

7、用加载的storyboard创建控制器

8 、通过GestureRecognizer实现点击任意区域隐藏键盘

基本思想如下:

1. 在ViewController载入的时候,将键盘显示和消失的Notification添加到self.view里。

2. 分别在键盘显示和消失时添加和删除TapGestureRecognizer

- (void)viewDidLoad {

[superviewDidLoad];

[selfsetKeyBoardAutoHidden];

}

- (void)setKeyBoardAutoHidden{

NSNotificationCenter*notificationCenter = [NSNotificationCenterdefaultCenter];

//SingleTap Gesture

UITapGestureRecognizer*singleTapGesture = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(backgroundTapDismissKeyboard:)];

NSOperationQueue*mainQueue = [NSOperationQueuemainQueue];

//UIKeyboardWillShowNotification

[notificationCenteraddObserverForName:UIKeyboardWillShowNotificationobject:nilqueue:mainQueueusingBlock:^(NSNotification*note) {

[self.viewaddGestureRecognizer:singleTapGesture];

}];

//UIKeyboardWillHideNotification

[notificationCenteraddObserverForName:UIKeyboardWillHideNotificationobject:nilqueue:mainQueueusingBlock:^(NSNotification*note) {

[self.view  addGestureRecognizer:singleTapGesture];

}];

}

- (void)backgroundTapDismissKeyboard:(UIGestureRecognizer*) gestureRecognizer{

//将self.view里所有的subview的first responder 都resign掉

[self.viewendEditing:YES];

}

11,NavigationBar中通过code方式对背景颜色和title字体颜色更改


12、NSCoding解释 initWithCoder: encodeWithCoder


对于轻量级的数据要求,NSCoding因其简单而成为一种比较合适的方式。 NSCoding是一个你需要在数据类上要实现的协议以支持数据类和数据流间的编码和解码。数据流可以持久化到硬盘。

是类对象本身数据的写入到本地文件。

我 们需要实现两个方法: encodeWithCoder和initWithEncoder。encodeWithCoder就是编码,initWithCoder就是解码。 encodeWithCoder方法传入的是一个NSCoder对象,实现的时候我们就可以调用encodeObject、encodeFloat、 encodeInt等各种方法并通过指定键值进行编码。

13、数组里面存储CGRect

存:[self.bottomLineFrameArr addObject:[NSValue valueWithCGRect:bottomRect]];

取:self.bottomLineView.frame = [self.bottomLineFramesArrayM[0] CGRectValue];

14、野指针的错误

野指针的错误unrecognized selector sent to instance

15、id类型与instancetype类型

instancetype 与 id 不一样, instancetype 只能在方法声明中作为返回类型使用。

使用 instancetype ,编译器将正确的推断出 +personWithName: 是 Person 的一个实例。

16、类方法和实例方法

实例方法是— 类开头是+ 

实例方法是建立实例才有的方法,实例方法是用实例对象访问

类方法是直接可以使用类引用,不需要实例化就可以使用的方法,一般在项目中类方法都是设置为工具类使用的

类方法的对象是类而不是实例,通常创建对象或者工具类。

在实例方法里,根据继承原理发送消息给self和super其实都是发送给self

在类方法里面self是其他的类的类方法,在类方法中给self发送消息只能发类方法self是类super也是

什么时候用类方法,要创建一个实例时候获取一个共享实例,或者获取关于类的一些共有信息

17.tableview的第一个headerView设置标题不走

因为tableviewheader的高度高度没有设置

18. TableView如何刷新指定的cell 或section

//一个section刷新

NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:2];

[tableview reloadSections:indexSet withRowAnimation:UITableViewRowAnimationAutomatic];

//一个cell刷新

NSIndexPath *indexPath=[NSIndexPath indexPathForRow:3 inSection:0];

[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath,nil] withRowAnimation:UITableViewRowAnimationNone];


19.创建分类的方法


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容

  • 37.cocoa内存管理规则 1)当你使用new,alloc或copy方法创建一个对象时,该对象的保留计数器值为1...
    如风家的秘密阅读 842评论 0 4
  • 1.OC里用到集合类是什么? 基本类型为:NSArray,NSSet以及NSDictionary 可变类型为:NS...
    轻皱眉头浅忧思阅读 1,374评论 0 3
  • 对于从事 iOS 开发人员来说,所有的人都会答出【runtime 是运行时】什么情况下用runtime?大部分人能...
    梦夜繁星阅读 3,721评论 7 64
  • 1,NSObject中description属性的意义,它可以重写吗?答案:每当 NSLog(@"")函数中出现 ...
    eightzg阅读 4,143评论 2 19
  • 初读李尚龙的书,满满的鸡汤浓香扑鼻,可是细细品读下来,也会笑笑自嘲这不就是自己吗?举例充分说明。 第一 你是否经常...
    寸心悟阅读 2,269评论 17 86