0323
1.IBAction:
1> 能保證方法可以連線
2> 相當於void
2.IBOutlet:
1> 能保證屬性可以連線
3.常見錯誤
setValue:forUndefinedKey:]:this class is not key value coding
錯誤原因是:連線出問題了
4.Xcode5開始的一些建議
把用於連線的一些方法和屬性聲明在.m文件的類擴展中
5.frame\center\bounds
1> frame:能修改位置和尺寸
2> center:能修改位置
3> bounds:能修改尺寸(x\y一般都是0)
0324
1.NSBundle
1> 一個NSBundle代表一個文件夾,利用NSBundle能訪問對應的文件夾
2> 利用mainBundle就可以訪問軟件資源包中的任何資源
3> 模擬器應用程序的安裝路徑
/Users/aplle/資源庫/ApplicationSupport/iPhone Simulator/7.1/Applications
2.UIImageView和UIButton
1> 使用場合
* UIImageView: 如果僅僅是顯示圖片,不需要監聽圖片的點擊
* UIButton: 既要顯示圖片,又要監聽圖片的點擊
2> 相同:能顯示圖片
3> 不同點
* UIButton能處理點擊事件,UIImageView不能處理點擊事件
* UIButton既能顯示圖片,又能顯示文字
* UIButton能同時顯示兩張圖片
* UIButton繼承自UIControl,因此默認就能處理事件
* UIImageView繼承自UIView,因此默認就不能處理事件
3.Xcode文檔安裝路徑
/Applications/Xcode.app/Contents/Developer/Documentation/DocSets
4.Xcode模擬器安裝路徑
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
0326
備課筆記:
1.純代碼方式實現九宮格
* 一個格子一個格子添加
* 使用for循環添加
2.字典轉模型
* 什麼是模型
* 好處分析
* 將字典轉換爲模型
* 模型提供字典轉模型的構造方法
3.使用xib文件
* 用來描述九宮格
* 用來描述中間的提示信息
4.封裝
* 純代碼的封裝
*xib的封裝
課堂筆記:
1.Xcode自帶頭文件的路徑
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/System/Library/Frameworks/UIKit.framework/Headers
2.修改了系統自帶頭文件後,Xcode會報錯
解決方案:刪掉下面文件夾的緩存即可(aplle是電腦的用戶名)
/Users/aplle/資源庫/Developer/Xcode/DerivedData
或者
/Users/aplle/Library/Developer/Xcode/DerivedData
3.使用xib封裝一個自定義view的步驟
1> 新建一個繼承UIView的自定義view,假設類名叫做(MJAppView)
2> 新建一個MJAppView.xib文件來描述MJAppView內部的結構
3> 修改UIView的類型爲MJAppView真實類型
4> 將內部的子控件跟MJAppView進行屬性連線
5> MJAppView提供一個模型屬性
6> 重寫模型屬性的set方法,因爲在set方法中可以拿到外界傳遞的模型數據
7> 把模型數據拆開,分別設置數據到對應的子控件中
8> 補充:提供一個創建MJAppView的類方法,將讀取xib文件的代碼屏蔽起來
0327
1.添加圖片資源(暫時認爲@2x跟非@2x代表同一張圖片)
2.搭建UI界面
* 文本標籤
* 4個按鈕
* 中間的圖片
3.設置狀態欄樣式
4.監聽下一題按鈕的點擊
5.延遲加載數據
* 加載plist
* 字典轉模型
* KVC的引入
6.切換下一題的序號、圖片、標題,下一題按鈕的可用性
7.默認顯示第1條題目
8.顯示大圖
* 監聽中間圖片點擊
* 添加遮蓋
* 移動圖片(注意頭像圖片的層級順序)
* 監聽“大圖按鈕”
9.展示答案的個數
10.展示待選答案
11.答案處理
12.提示功能
13.Icon和Launch、@2x
0329
1.PPT介紹什麼是UIScrollView
2.新建項目“大圖片展示”
* 儘量用storyboard,減少代碼
* 設置contentSize屬性
* 取消autolayout
* 說明frame.size和contentSize的區別
3.介紹UIScrollView的代理
* 看PPT
* 演示3個代理方法的使用
// 用戶開始拖拽時調用
- (void)scrollViewWillBeginDragging:(UIScrollView*)scrollView;
// 滾動到某個位置時調用
- (void)scrollViewDidScroll:(UIScrollView*)scrollView;
// 用戶結束拖拽時調用
- (void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate;
4.演示scrollView的常見屬性
* contentOffset
* contentInset
... ...
5.新建項目“喜馬拉雅”
6.新建項目“圖片縮放”
* PPT
* 代碼演示
7.新建項目“圖片輪播器”
* 分頁展示圖片
* UIPageControl的使用
* NSTimer的使用
(雖然用storyboard搭建界面,但是也要說清楚對應的代碼操作方式)
0330
1.tableView簡介
* PPT簡介
2.汽車品牌(簡單)
* 寫死數據
1> 德系品牌:寶馬、奔馳
2> 日系品牌:本田、豐田
* 頭部和尾部標題
* 擴展新的一行
1> 德系品牌:奧迪
2> 日系品牌:馬自達
* 擴展新的一組
歐系其他:蘭博基尼、勞斯萊斯、法拉第
* 引入模型,手動創建模型數據
* 從plist中讀取完整的模型數據
3.LOL英雄
* 加載模型數據
* 展示cell的幾個子控件
* 展示accessoryType和accessoryView
* 監聽點擊
4.性能優化(以“LOL英雄”爲例子)
5.汽車品牌(帶圖、按照拼音排序)
* 手動創建模型數據
* 加載模型數據
* 顯示汽車內容
* 索引標題
0401
1.通過xib自定義cell
* 添加tableView
* 加載團購數據
* 新建xib,獲取子控件
* 封裝
* 最後引入headerView和footerView(插入廣告,加載更多)
2.通過代碼自定義cell
* 引入UITableViewController
* 加載模型數據MJStatus,用自帶的cell展示基本數據
* 新建一個MJStatusCell,封裝模型數據
* 在init方法中添加4個子控件
* 在set方法中給子控件設置數據
* 在set方法中給子控件計算frame
* 說明cell的高度無法計算
* 設計MJStatusFrame
* 建立MJStatus、MJStatusFrame、MJStatusCell的關係(提醒屬性名不能叫做frame)
* 性能優化(存儲MJStatusFrame數據,不存儲MJStatus數據)