1:當(dāng)我們選中cell時(shí),cell里面的所有子控件都會(huì)進(jìn)入高亮狀態(tài);
2:當(dāng)cell的selection為None時(shí)尸诽,cell被選中時(shí)忽孽,內(nèi)部的子控件就不會(huì)進(jìn)入高亮狀態(tài)绑改;
3:tableView默認(rèn)選中第一行數(shù)據(jù):[self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0inSection:0] animated:yes scrollPosition:UITableViewScrollPositionTop];
4:tableView選中哪一行,在numberOfRowsInSection中經(jīng)常用到 :tableView.indexPathForSelectedRow.row
5:修改鍵盤
?? ?UIView*keyboard = [[UIViewalloc]init];
? ? keyboard.frame=CGRectMake(0,0,0,100);
? ? //凡是鍵盤兄一,彈出默認(rèn)是整個(gè)寬度
? ? keyboard.backgroundColor = [UIColor redColor];
? ? self.emailField.inputView= keyboard;
6:修改鍵盤頂部的工具條
?UIView*toolbar = [[UIViewalloc]init];
? ? toolbar.frame=CGRectMake(0,0,0,44);
? ? //工具條默認(rèn)是整個(gè)寬度
? ? toolbar.backgroundColor = [UIColor blueColor];
? ? self.nameField.inputAccessoryView = toolbar;
7:iOS12.1的Tabbar的item位置偏移錯(cuò)亂
在Appdelegate里面厘线,設(shè)置全局的Tabbar樣式,去掉tabbar的透明度 ?[[UITabBar appearance] setTranslucent : false];
8: ? ?iOS權(quán)限聲明國際化 ?:
https://www.cnblogs.com/wobuyayi/p/5942793.html
9:當(dāng)你cell上有輸入框(UITextField,UITextView),如果你刷新表格出革,用的方法是[tableView reloadData],那么cell上輸入框上的文本就會(huì)消失:
因?yàn)槟闼⑿抡麄€(gè)表格時(shí)造壮,cell會(huì)重新創(chuàng)建,cell上輸入框里的東西就沒有了骂束。解決方法是:刷新某行或某區(qū)耳璧,不要刷新輸入框的上的cell成箫,或者先把輸入框上的內(nèi)容保存,刷新后在賦值上去旨枯。
10:設(shè)置啟動(dòng)頁面的時(shí)間:[NSThread sleepForTimeInterval : 0.5];
11:修改狀態(tài)欄時(shí)間蹬昌、信號(hào)量等字體的顏色,有以下倆中方式:
1):在入口類AppDelegate中的didFinishLaunchingWithOptions方法內(nèi)寫下面一句代碼
但是這個(gè)方法設(shè)置的是全局的凳厢,現(xiàn)在蘋果不建議用這個(gè)方法。
2):在控制器里面竞慢,調(diào)用下面的方法
這個(gè)方法是蘋果推薦的,在單個(gè)控制器里面設(shè)置筹煮。
12:當(dāng)我們使用系統(tǒng)提供默認(rèn)的導(dǎo)航欄時(shí),UITextView編輯光標(biāo)默認(rèn)是顯示在左邊居中的位置遮精,必須在控制器上加上下面這句代碼,才會(huì)讓光標(biāo)在左上角败潦。下面這句代碼默認(rèn)為YES
self.automaticallyAdjustsScrollViewInsets=NO;
13:數(shù)組按升序排列
self.keyAry= [ary sortedArrayUsingSelector:@selector(compare:)];
14:tableView系統(tǒng)的 cell.textLabel 這個(gè)屬性的位置距離左邊是15個(gè)像素
15:關(guān)于版本更新提醒:當(dāng)有新的版本更新時(shí)本冲,要跳轉(zhuǎn)到AppStore,不能在模擬器上進(jìn)行測試劫扒,必須在真機(jī)上進(jìn)行測試檬洞。因?yàn)槟M器上沒有AppStore這個(gè)軟件,當(dāng)你在模擬器上測試時(shí)沟饥,會(huì)跳轉(zhuǎn)到Safari上添怔,顯示該鏈接無效。
16:iOS_11.0以后獲取安全區(qū)域距離屏幕底部的高度
17:防止有圖片的按鈕在點(diǎn)擊時(shí)贤旷,會(huì)閃一下:button.adjustsImageWhenHighlighted=?NO
18:消除類別重寫系統(tǒng)API時(shí)帶來的警告,有以下倆中方法:
分類(Category)重寫系統(tǒng)方法广料,會(huì)報(bào)警告:Category is implementing a method which will also be implemented by its primary class
1)使用三個(gè)#pragma來消除
2):選中項(xiàng)目-TAGRETS-Build Phases-Comoile Sources,在對(duì)應(yīng)的類后面加上-w
這倆中方法都可以消除分類(Category)重寫系統(tǒng)方法導(dǎo)致的警告。
19:.bundle文件的創(chuàng)建
新建一個(gè)文件夾幼驶,把它改名為.bundle就可以了艾杏,右鍵,顯示包內(nèi)容可以向其中添加圖片資源盅藻。
20:手動(dòng)導(dǎo)入第三方庫后文件夾內(nèi)的文件順序錯(cuò)亂购桑。
選中需要整理的文件夾,右鍵選擇“Sort by Name”或者“Sort by Type”即可
21:關(guān)于導(dǎo)航控制器push或者pop,控制器是否銷毀的理解
A控制器pushB控制器氏淑,相當(dāng)于入棧勃蜘,A控制器放入了棧里面,并沒有被銷毀夸政,dealloc方法自然不會(huì)執(zhí)行,在viewWillDisappear中打印“self.navigationController.viewControllers”就會(huì)看到棧里面的A控制榴徐。
B控制器pop返回A控制器守问,相當(dāng)于出棧匀归,從棧里面把B控制器拿出來,那么這個(gè)時(shí)候你在viewWillDisappear中打印“self.navigationController.viewControllers”就會(huì)看到棧里面并沒有B控制器了耗帕,說明B控制器已經(jīng)被銷毀穆端,dealloc方法被執(zhí)行。