国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS開發學習筆記(六)

2019-11-07 23:21:16
字體:
來源:轉載
供稿:網友

+攝像頭和照片庫+ 由于ios應用受到沙盒機制的限制 ,通常不能獲取照片或自己沙盒之外的其他數據。但可使用圖像選擇器UIImagePickerController;并在其代理 UIImagePickerControllerDelegate中處理選擇的圖片和拍攝的照片;

沙盒(箱)機制:是一種數據安全策略;每個應用程序都有自己的存儲空間;應用程序不能翻過自己的空間去訪問別的存儲空間的內容;應用程序請求的數據都要通過權限檢測,若不符合條件,不會被放行; 目錄包括: Documents:用于存儲一些非常大的文件或需要非常頻繁更新的數據,能夠進行iTunes或iCloud備份; 獲取目錄位置:

NSArray *doc = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomain Mask,YES);//只有一個元素;

Library:包含PReferences和Caches兩個目錄;前者用于存放程序的設置數據,后者用于存放應用程序數據,用于緩存文件; tem:臨時文件目錄;不能使用iTunes或iCloud備份; 使用NSString *temp=NSTemporaryDirectory();

+應用程序本地化+ 可在應用包中為支持的語言創建一個子目錄,每種語言的子目錄都包含一個翻譯為此種語言的應用資源子集。每個子目錄都稱為一個本地化項目,也稱為本地化文件夾; 使用iso的國家代碼作為唯一標識; 本地代號:語言代號+國家(地區)代號; 有時國家代號可省略,如en-US.lproj是精確查找,若沒有打開再找en-lproj; 包括: 都須先在項目下的Locailzation添加語言支持; + 文本信息本地化: - 系統按鈕和信息:在工程名—>Localizations下點擊+; -應用名稱:添加一個StringFile,命名為InfoPlist.strings(必須);再添加應用名:CFBundleDisplayName=”China”; -使用genstring可從源程序文件中掃描NSLocalizedString的宏并取出字符,輸出到本地文件中; + XIB和storyboard的本地化:會直接生成想著控件的id名的strings文件; + 資源本地化:圖片和音頻等;直接選中圖片資源點擊Locailzation,選擇要放入的語言文件夾下,并使用圖片資源名都相同;

在訪問資源文件時,文件夾和組是有區別的:訪問文件夾中的資源需要將文件夾作為路徑;而組中的資源可直接使用文件名訪問;

Target(目標)與Project(工程)關系:一個target就是一個編譯后的產品;一個project包含多個Target; Scheme(方案):在Xcode左上角的運行處,可進行編輯;指一個要編譯執行的target,包括了編譯這個Target的配置信息,以及運行target的測試方案。一信Xcode中包含多個方案,但一次只能活躍一個;

視圖分類: 控件:繼承自UIController,能響應事件; 窗口:UIWindow,一個ios應用只有一個UIWindow對象,是所有子視圖的根容器; 容器視圖:UIScrollView,UIToolbar及其子類; 顯示視圖: 文本和web視圖:能顯示多行文本和html的視圖;UITextView和UIWebView; 導航視圖:UITabBar和UINavigationBar; 警告框和操作表: ** 鍵盤顯示的隱藏的監聽:會發出一個通知:UIKeyboardDidHideNotification和UIKeyboardDidShowNotification;

屏幕適配:在iphone屏幕中狀態欄高20點,導航欄44點,標簽欄49點;(多用44點這個值) Auto Layout布局:傳統布局只能設置視圖與屏幕的上下左右邊距,不能設置屏幕中視圖之間的距離;在iOS6后引入Auto Layout技術,以解決多屏幕問題; 使用約束(constraint)來定義視圖間的關系 【在Interface Builder中可使用約束;但在代碼構建界面時不推薦使用,而是自己根據屏幕大小動態計算界面的位置】 stack:將視圖對象添加到堆視圖中; 對齊: Pin:創建距離和位置的想著約束; 堆視圖(Stack View):是一種容器視圖,可包含子視圖;專為界面布局而設計的;(可當android中的LinearLayout使用); (在iPhone6/6 plus后Auto Layout已不能解決多屏幕適配的問題了;它只能解決界面差別小的問題,而界面差別很大時采用不同的用戶界面文件) 為應對新形式的變化,在iOS8后采用新的屏幕適配技術Size Class;它依賴并建立在Auto Layout技術之上; 通過.xcassets添加的圖片資源: 1x:表示普通顯示屏使用的圖片; 2x:表示iPhone4s、iPhone5/5s/5c使用的圖片; 3x:表示iPhone6/6s plus顯示使用的圖片;

模態視圖:有時需要放棄主要任務轉而去做其他次要任務,然后再返回到主任務,這個次要任務就是在模態視圖中完成的;默認情況下,模態視圖是屏幕下方滑出來的,完成時需要關閉這個模態視圖,若不關閉則無法招待后續操作; -presentViewController:animated:completion: 呈現模態視圖; -dismissViewControllerAnimated:completion: 關閉模態視圖;

單例:

@implementation ToolManagerstatic ToolManager *instance;+(ToolManager *)getInstance{ static dispatch_once_t once; dispatch_once(&once, ^{ instance = [[ToolManager alloc] init]; }); return instance;}@end

UIapplication:shareApplication:獲取一個實例;

打開默認系統應用

// NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];// NSURL *url = [NSURL URLWithString:@"tel://18508293280"]; NSURL *url = [NSURL URLWithString:@"sms://18508293280"]; [[UIApplication sharedApplication]openURL:url options:nil completionHandler:^(BOOL success) { if (success) { NSLog(@"打開成功"); }else{ NSLog(@"打開失敗"); } }];

[代理模式下的約定:在使用委托命名時,如若以UITextField發出的消息,則以textField開頭,后面跟三個動詞Should、Will、Did;Should應該返回一個BOOL類型;Did沒有返回值;Will也沒有返回值;都把發送消息的對象作為參數傳入]

博客地址:IOS開發學習筆記(六)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 澄城县| 宁安市| 凤庆县| 巴青县| 祁连县| 江孜县| 古蔺县| 黎川县| 镇平县| 哈巴河县| 凯里市| 赤峰市| 阿坝县| 南乐县| 淅川县| 高淳县| 鄂伦春自治旗| 淳安县| 阿巴嘎旗| 太康县| 顺昌县| 浙江省| 弥渡县| 瑞金市| 壶关县| 天全县| 鄂伦春自治旗| 巴马| 乐东| 周至县| 迁西县| 嫩江县| 翁源县| 庆城县| 阿拉善盟| 焉耆| 漳浦县| 西吉县| 九寨沟县| 宁化县| 册亨县|