IOS7的蛋疼各种收集
------------------
ios7基于viewController隱藏狀態(tài)條:
通過(guò)ViewController重載方法返回枚舉值的方法來(lái)控制狀態(tài)欄的隱藏和樣式。
首先,需要在Info.plist配置文件中,增加鍵:UIViewControllerBasedStatusBarAppearance,并設(shè)置為YES;
然后,在UIViewController子類中實(shí)現(xiàn)以下兩個(gè)方法:
最后,在需要刷新狀態(tài)欄樣式的時(shí)候,調(diào)用[self setNeedsStatusBarAppearanceUpdate]方法即可刷新
UILable奇葩的把文字draw到外面去了:
lable在ios7(bate版)下可以draw多行,只要text里有回車,如果你計(jì)算出單行text的高度并setFrame之后,對(duì)于"1\n2"這樣的文本,他的顯示就錯(cuò)亂了,1跑上面去了——出了frame區(qū)域,解決方法就是setFrame之后調(diào)用:[label?sizeThatFits:lable.frame.size].
?UITabBarController的視圖結(jié)構(gòu)變了:(這是因?yàn)閗pi么)
? ?-------
IOS7的UITableViewCell的定制沒有以前那么直接了,以前可以直接繼承UITableViewCell然后drawRect. 但是現(xiàn)在不行了,現(xiàn)在的UITableViewCell包含了一個(gè)scrollView,你重繪了UITableViewCell將會(huì)被這個(gè)scrollView遮住而完全沒法顯示.
如下是一個(gè)解決思路:
- (UITableViewCell?*)tableView:(UITableView?*)tableView cellForRowAtIndexPath:(NSIndexPath?*)indexPath
{
UITableViewCell?* cell = [[[UITableViewCellalloc]?initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]?autorelease];
UIView?* subview = [[[XXView?alloc]?init]?autorelease];
subview.userInteractionEnabled?=?NO;//?不設(shè)為NO會(huì)屏蔽cell的點(diǎn)擊事件
subview.backgroundColor?= [UIColorclearColor];//?設(shè)為透明從而使得cell.backgroundColor有效.
subview.autoresizingMask?=?UIViewAutoresizingFlexibleWidth?|?UIViewAutoresizingFlexibleHeight;
[cell.contentView?addSubview:subview];// cell.contentView是個(gè)readonly屬性,所以別想著替換contentView了.
return?cell;
}
UISearchDisplayController的delegate導(dǎo)致內(nèi)存問題?
連這個(gè)問題都有。。不得不感慨喬布斯死的早啊!
這顯示是ios7的(pre-)sdk自己的一個(gè)bug,給UISearchDisplayController設(shè)置delegate后,在UISearchDisplayController不用了的時(shí)候(比如release他之前),務(wù)必要setDelegate = nil. 否則可能會(huì)出野指針(某已釋放的對(duì)象)被調(diào)用.
self.searchDisplay.delegate = nil;?
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/xiaouisme/p/3288639.html
總結(jié)
以上是生活随笔為你收集整理的IOS7的蛋疼各种收集的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式(17) 访问者模式(VISIT
- 下一篇: 拼接路径的两种方式