標籤:
1、版本新特性
1.1 介面
程式第一次啟動的時候會彈出新特性介面,之後啟動不會出現。
1.2 實現思路
1> 建立一個HWNewfeatureViewController(繼承自UIViewController)
2> 先將其設定為整個程式的根控制器,用於示範
3> 使用UIScrollView
4>添加UIPageControl
5> 設定UIScrollView代理,監聽滾動,設定UIPageControl
2、控制器切換
2.1 一個View中顯示其他控制器的View
建立一個HMTestViewController(繼承自UITableViewController),放上測試資料,再將其添加到另一個控制器的View中
注1:上述代碼並不會將HMTestViewController的測試資料顯示到當前控制器的View中,原因:HMTestViewController建立好後是局部變數,代碼執行完就銷毀,儘管HMTestViewController的View會被添加到當前控制器的View中,但是資料來源代理是HMTestViewController,已被銷毀,因此沒有人給tabView提供資料!
注2:解決辦法:強指標引用HMTestViewController
注3:如果發現控制器的view還在,但是view上面的資料不顯示,極大可能是因為控制器被提前銷毀了
注4:若一個控制器銷毀,但是其View還沒有被銷毀,會非常危險!!!因為一個控制器通常用來監聽View的事件,一旦控制器被銷毀,View需要處理事件的時候就會造成壞記憶體訪問!!!
2.2 控制器切換介面
點擊不同按鈕,可以切換不同的控制器顯示在同一個View上
2.3 實現思路
1> 懶載入三個控制器,設定每個控制器的View的frame
2>點擊按鈕,添加到View中,注意先移除之前的View,防止一直添加
2.4 類似應用
注1:一個控制器的view是可以隨意調整尺寸和位置的
注2:一個控制器的view是可以隨意添加到其他view中
注3:如果將一個控制器的view,添加到其他view中顯示,那麼要想辦法保證控制器不被銷毀
注4:原則:只要view在,view所在的控制器必須得在,這樣才能保證view內部的資料和商務邏輯正常
3、[email protected]圖片的載入
第1節版本新特性,啟動顯示全屏圖片的螢幕適配問題!
注1:只適用於啟動時的全屏圖片載入!
Universal:iPhone和iPad,這裡可以取消!
注2:只有全屏的圖片需要關注螢幕適配問題,其他像按鈕圖片可以通過展開來解決!
4、tabBar的使用注意 --- 重要
5、按鈕的使用細節
5.1 介面
版本新特性最後一頁
5.2 實現思路
註:EdgeInsets
contentEdgeInsets:會影響按鈕內部的所有內容(imageView和titleLabel)
titleEdgeInsets:隻影響按鈕內部的titleLabel
imageEdgeInsets:隻影響按鈕內部的imageView
6、控制項看不見的可能
7、新版本判斷
新特性最後一頁,點擊開始微博
8、OAuth授權
8.1 基本概念
OAuth(開放授權)是一個開放標準。
允許第三方網站在使用者授權的前提下訪問在使用者在服務商那裡儲存的各種資訊。而這種授權無需將使用者提供使用者名稱和密碼提供給該第三方網站。
OAuth允許使用者提供一個令牌給第三方網站,一個令牌對應一個特定的第三方網站,同時該令牌只能在特定的時間內訪問特定的資源。
參考網址:點擊開啟連結 點擊開啟連結
8.2 載入登入介面
註:需要修改AFN原始碼(支援回應標頭)
iOS開發 - 第05篇 - 項目 - 03 - 版本新特性 & OAuth授權