-
不能改優先順序為
UILayoutPriorityRequired (1000)
的約束 -
在
heightForRowAtIndexPath
沒有被正確測量cell
的高度時,cellForRowAtIndexPath
可能會被不必要的呼叫,即不可見的cell
也會被呼叫。如果正好資料量很大,會導致性呢個嚴重下降。 -
present出一個背景可透明的
viewController
if (IOS_VERSION >= 8.0) { vc.modalPresentationStyle = UIModalPresentationOverCurrentContext; }else{ self.modalPresentationStyle = UIModalPresentationOverFullScreen; } vc.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentViewController:vc animated:YES completion:nil]; 複製程式碼
-
NSUInteger
無符號整數的-1
是一個很大的數值 在與NSInteger
做比較時應注意。例:
NSInteger a = 5; NSUInteger b = -1; 複製程式碼
a<b
成立。 Arr.count
是無符號的(NSUInteger
),跟-1
(NSInteger
)比較時,會把-1
轉成NSUInteger
,然而NSUInteger
不儲存負數,-1
符號被截斷後溢位變成了一個很大的數利用這個特性,以後判斷陣列下標是否越界時,不用寫:
if(index >= 0 && index < arr.count)
直接寫這個就好了,一樣的效果:if(index < arr.count)
-
URL編碼:
-
編碼URL中的引數部分:
return [str stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet]; 複製程式碼
各引數的區別:
-
編碼整個字串:
return (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (__bridge CFStringRef)str, NULL, (__bridge CFStringRef)@":/?&=;+!@#$()',*", kCFStringEncodingUTF8); 複製程式碼
-
-
把
cell
當sectionHeaderView
用, 需要把cell
放進一個容器裡,否則可能導致no index path for table cell being reused
的錯誤,以及sectionHeaderView
在介面上消失.-(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"head"]; //把 cell 放進一個容器裡再設定為sectionHeaderView UIView *view = [[UIView alloc] initWithFrame:[cell frame]]; cell.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; [view addSubview:cell]; return view; } 複製程式碼
-
可以利用
tableView.backgroundView
來做空列表提示等功能 -
給靜態
tableView
的rightDetail
風格的cell
上的detailText
賦值時, 遇到的一些問題:detailText
賦值text
為@""
或者nil
之後,此控制元件會消失看不見,再賦值也不會出來.detailText
賦值attributedText
後, 控制元件大小(寬)沒有跟著變.
解決辦法: 賦值後重新整理
tableView
或cell
iOS開發備忘筆記 (2)
相關文章
- iOS開發備忘筆記 (3)iOS筆記
- iOS開發備忘筆記 (持續更新中)iOS筆記
- 3DS MAX備忘筆記3D筆記
- 3DS MAX備忘筆記【總】3D筆記
- PHP 日常開發備忘PHP
- 開發 備忘錄 - 雜
- iOS 效能優化備忘iOS優化
- 3DS MAX備忘筆記(石墨工具)3D筆記
- Swoole 核心開發備忘:記憶體管理優化(swString)記憶體優化
- 3DS MAX備忘筆記(選擇命令)3D筆記
- 3DS MAX備忘筆記(修改器)3D筆記
- Android開發:日誌功能備忘Android
- Web 開發人員備忘單Web
- linux 備忘記錄Linux
- Mac備忘錄筆記教學——強大的內建筆記軟體Mac筆記
- 3DS MAX備忘筆記(命令-點層級)3D筆記
- iOS開發筆記(九):UIViewController的生命週期iOS筆記UIViewController
- 【防忘筆記】Spring+Struts2古董框架學習筆記Spring框架
- OS開發筆記(2)——GRUB啟動流程筆記
- iOS開發筆記— 資料庫、Crash、記憶體問題分析iOS筆記資料庫記憶體
- 設計模式學習筆記(十八)備忘錄模式及其實現設計模式筆記
- StarBlog部落格Vue前端開發筆記:(1)準備篇Vue前端筆記
- J2EE開發筆記(一)—— J2EE開發環境配置筆記開發環境
- 微信小程式開發學習筆記[2]微信小程式筆記
- 《深入核心的敏捷開發》讀書筆記(2)敏捷筆記
- Mac 備忘錄( Notes)裡筆記被永久刪除後的找回方法Mac筆記
- ios忘記密碼該如何解鎖?iOS密碼
- Android備忘錄《記憶體洩漏》Android記憶體
- 開發環境的 Ubuntu Desktop 18.04LTS 開發環境配置備忘開發環境Ubuntu
- iOS開發筆記之Xcode9.2下SDK開發-生成Framework的圖解流程iOS筆記XCodeFramework圖解
- iOS BLE 開發小記[2] 如何實現一個 Local CentraliOS
- 移動端HTML5頁面開發備忘錄HTML
- golang 開發筆記Golang筆記
- Laravel 開發筆記Laravel筆記
- uinapp 開發筆記UIAPP筆記
- Android開發筆記Android筆記
- fyne 開發筆記筆記
- 備忘錄