[segue.destinationViewController setHidesBottomBarWhenPushed:YES];
push的時候,toolbar隱藏
[array enumerateObjectsUsingBlock:^(__kindof UIView *_Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
}];
對數(shù)組進行遍歷的時候,用block進行枚舉,內(nèi)存消耗明顯優(yōu)于優(yōu)于普通的for循環(huán)(對于需要判斷是否是最后一個或者循環(huán)到的idx)
對于tabbar上面的圖標,如果想改變他們的線條顏色,可以設置tabbar.tintColor,這樣就會統(tǒng)一各個bar item的顏色。另外要注意UIImage的renderingColorMode的三個枚舉值。
用UIVisualEffectView模糊的view,用于處理覆蓋動畫的背景。
keyWindow = [[UIApplication sharedApplication] keyWindow];
獲取到keyWindow之后,能夠很方便的操縱想要顯示的區(qū)域和不想顯示的區(qū)域。
helperSideView.hidden = YES;
用于輔助的視圖,給它們設為hidden
兩個輔助視圖的x值拼接出一個先增后減至負值在增至零。
這樣就能得到另一個control point (詳見kitten yang 的 gooeySlideMenu)
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextAddPath(context, bezierPath.CGPath);
畫好了曲線后,添加到context中。
CADisplayLink十分適合做UI重繪,因為在每一幀刷新時執(zhí)行selector
一個視圖的顯示與否,也可以用alpha值控制。
留個坑,slideMenuButton的.m還沒總結,考完試再填吧。。。
tableView性能優(yōu)化干貨!
但重要的事情是:在UITableView的dataSource中實現(xiàn)的tableView:cellForRowAtIndexPath:方法,需要為每個cell調(diào)用一次,它應該快速執(zhí)行。所以你需要盡可能快地返回重用cell實例。不要在這里去執(zhí)行數(shù)據(jù)綁定,因為目前在屏幕上還沒有cell。為了執(zhí)行數(shù)據(jù)綁定,可以在UITableView的delegate方法tableView:willDisplayCell:forRowAtIndexPath:中進行。這個方法在顯示cell之前會被調(diào)用。
NSDictionary addEntriesFromDictionary: 作字典的合并,事實上是替換掉相同的鍵值對,增加之前沒有的鍵值對。示例代碼如下:
NSString *LAST=@"lastName";
NSString *FIRST=@"firstName";
NSString *SUFFIX=@"suffix";
NSString *TITLE=@"title";
NSMutableDictionary *dict=[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"Jo", FIRST, @"Smith", LAST, nil];
NSDictionary *newDict=[NSDictionary dictionaryWithObjectsAndKeys:
@"Jones", LAST, @"Hon.", TITLE, @"J.D.", SUFFIX, nil];
//合并兩個字典
[dict addEntriesFromDictionary: newDict];
結果是:dict 為 FIRST:@"Jo" LAST:@"Jones" TITLE:@"Hon." SUFFIX:@"J.D."