簡述項目開發步驟
1.查看需求文檔,看整個app有哪些功能,預估開發時間
2.查看原型圖,了解App結構,確定一些模塊 ?開始開發
3.需要展示數據的時候,查看接口文檔就能獲取數據,調通接口
4.打包測試
項目開發流程,需要多練.總結就是轉化過程,把項目的思想以及思路理順.
如何寫總結:1.流程 2.知識點 3.為什么 思想 ? 一個模塊一個總結.
修改tableView的分割線(全屏分割線)
1.低于ios8.0的適配,需要進行一個判斷,layoutMargins 屬性是在ios8 以及以后的版本才有這個屬性,所以需要做一個判斷.
2.工作經常使用的方法是:(重寫cell的setFrame)
? 分析tableView : cell 的高度由tableview 計算,是在一開始的時候就將cell的高度全部計算出來,保存起來. ?tableView的滾動范圍也是由tableview計算.
驗證:重寫cell的setFrame方法,還原系統的做法,確定cell的高度已經全部計算出來,用到時直接取出來用.(斷點驗證)
注意:一定要把cell的高度還原(如果你對cell之間進行間距約束的話,調整cell高度方法),不要影響cell的原本高度.
在setFrame方法中,可以針對frame進行自定義的cell ,顯示出我們想要的cell ?(寬度減2*10,x + 10);
3.業務邏輯:網絡比較慢的時候 ?,界面沒有數據 ?,添加提示,正在加載數據. SVP框架
HUD指示器業務邏輯:當網絡請求數據時,提示用戶正在加載,當網絡請求成功后,將HUD dismiss掉.
當用戶請求數據不成功時,用戶點擊返回按鈕,釋放view,需要將HUDdismiss掉,并且關閉網絡請求.
當前工程中的文件引用 "" ? 非本工程中的文件引用<>
模擬網絡延遲 ?dispatch ? ?模擬請求不成功 ?延遲1000秒 或者 修改AFN中的Block調用.
界面跳轉回去,view被釋放掉,不需要再請求數據了,因為沒有界面讓刷新,所以要把子線程中的網絡請求給關掉.
4.關注/登錄界面
xib描述,創建名稱與類名相同,因為加載關注界面alloc init 會調用init with nib方法,而這個方法會先判斷有沒有實現loadview方法....
xib 描述控制器必須進行的兩個操作:①綁定類 ?②拖線表示這個控制器的view我來描述
lable 換行option + enter (storyboard/xib中的操作)
如果本該有的圖片線條沒有顯示,那么可能因為模擬器的原因.
登錄按鈕的業務邏輯:modal出登錄注冊界面
4.1.搭建界面
占位視圖思想
復雜界面:化分結構,將在一塊的控件添加到一個uiview容器中.(頂部,中間 ,底部)
用xib描述一個view,添加到另一個xib描述的view上,是可行的.
注意點:1.選中狀態 和 正常狀態 按鈕 ? ?2.需求改變時,登錄界面的可復用性,提高代碼擴展性. ?2.1登錄界面創建一新的xib,單獨描述,輸入框背景可以看出這是兩個textFile組合,但imageView不能添加子控件,所以,需要一個UIView包裝. 2.2.修改登錄按鈕的圓角,在awakeFromNib中寫,表示當前所有控件的屬性都已經設置完畢,所以代碼寫這里面,?
2.3美工提供的圖片被拉伸的很嚴重,在awakeFromNib中拿到圖片,設置可被拉伸的區域,賦值回去.
2.4 注冊view 與登錄view的業務邏輯相似,一個類可以管理兩個view,,一個xib中可以描述兩個view,注意在xib中的順序.2.5業務邏輯:點擊注冊按鈕,將登錄界面切換到注冊界面,那么給這個注冊界面添加動畫,讓注冊界面從左側插入, 父控件的寬度為兩倍屏幕寬度,這樣保證點擊事件可以響應.2.6 做約束動畫 ,然后需要對位置進行判斷,判斷約束的值.2.7登錄界面光標/占位文字的設置,創建類,統一管理,一次性設置在awake設置;? 2.8 占位文字的設置是在文本編輯的狀態下才需要設置,所以需要去監聽文本框什么時候開始編輯.delegate? target? 通知? 選擇target? 代理是一對一,且自己監聽自己,不能用代理 2.9 業務邏輯:開始編輯,顏色改變? 結束編輯,顏色恢復,一開始初始化一個文本顏色,之后可以方便恢復默認. 3.0 能不能快速設置占位文字顏色?? 猜測,占位文字是不是lable類型.查看小面包,能查看出view的什么的類型(除此之外,還有一種運行時也可以查看某類的全部屬性)?
5.快速登錄界面
5.1局部view描述界面 5.2 按鈕內添加圖片文字默認就是左右的,如果想使用上下的按鈕,必須自定義按鈕 ?5.3 尺寸和中心點,先設置尺寸,再設置中心點,避免中心點位置偏差 ?5.4 自定義按鈕,調整內部子控件的位置,lable的尺寸設置為自適應就可以顯示原本輸入的文字.
使用Xib的注意點:
1.如果一個控件通過xib描述加載,那么默認加載出來是xib尺寸,如果一個view通過xib加載,是否需要重新設置frame?? ? 需要再次設置Frame.為了方便做屏幕適配,在viewDidLoadSubviews寫代碼
2.在viewDidload設置子控件的位置和frame是否合適?
layoutSubview是控件的方法,viewDidLoadSubviews是控制器的方法,這個方法的調用頻率很高,所以創建view的代碼不應該放到這里.這個方法里會真正執行約束.