swift學習筆記《5》- 實用

ytmaylover發表於2018-09-05

title: swift學習筆記《5》- 實用 date: 2016-09-21 21:39:00 categories:

  • 學習筆記
  • Swift學習
    tags:
  • Swift

1.setValue:forKeyPath實現原理

  • setValue:forKeyPath實現原理

  • 先看有沒有對應key值的set方法,如果有set方法,就會呼叫set方法,給對應的屬性賦值

  • 如果沒有set方法,去檢視有沒有跟key值相同並且帶有下劃線的成員屬性,如果有的話,就給帶有下劃線的成員屬性賦值,

  • 如果沒有跟key 值相同並且帶有下劃線的成員屬性,還會去找沒有跟key 值相同的成員屬性,如果有直接給它賦值,

  • 如果沒有直接報錯

2. button 顏色顯示系統tineColor的解決辦法

  • button 顏色顯示系統tine的解決辦法

  • Assets 中設定圖片的Render為Orignnal Image

    swift學習筆記《5》- 實用

  • 使用程式碼設定 imageWithRenderingMode:

    UIImage *image = [UIImage imageNamed:@"aimage"];
    
    UIImage *oriImage = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    複製程式碼

3.導航條隱藏

  • 導航條隱藏
  • 導航條或者導航條上的控制元件設定透明度是沒有效果的 self.navigationController.navigationBar.alpha = 0;
  • 如果需要設定透明背景,設定導航條背景,BackgroundImage必須預設模式是UIBarMetricsDefafault
  • 當背景圖片設定為nil 的時候,ShadowImage 系統會自動生成一張半透明的圖片,設定為導航條背景

4.Transform

  • 使用make 是相對於最原始的位置做的形變
  • 使用CGAffineTransformTranslate 是相對於上一次做形變
    swift學習筆記《5》- 實用

5.view 的任意拖拽

  • 在touchMoved a 方法裡,計算XY方向的偏移量,設定view的transform,

    swift學習筆記《5》- 實用

6.事件傳遞:

  • 如果父控制元件不能接收觸控事件,那麼子控制元件就不可能接收到觸控事件,
  • 如何找到最合適的控制元件來處理事件、
  • 判斷自己能否接收觸控事件
  • 觸控點是否在自己身上
  • 從後往前便利子控制元件,重複前面的2個步驟
  • 如果沒有符合條件的子控制元件 ,那麼就自己最適合處理

7.tableView 的縮排處理

  • 取消自動調整滾動檢視的間距,- VC+NAV 會自動調整tanleView的contentInset

    swift學習筆記《5》- 實用

  • 如果設定了tableview的縮排,記得設定scrollIndictiorInsets;

    swift學習筆記《5》- 實用

  • navBar 相融的問題,不顯示在底部,從隱藏到顯示,控制animated 就是可以的

    swift學習筆記《5》- 實用

    swift學習筆記《5》- 實用
    swift學習筆記《5》- 實用

8.實現圖片的,下拉放大,上推隱藏,直至隱藏漸變顯示導航條

  • 放大程式碼實現 下拉,contentOffset 是負值

    swift學習筆記《5》- 實用

  • 向上移動的時候,當超過64的時候,不再移動

    swift學習筆記《5》- 實用

  • 動態變化設定圖片的透明度

    swift學習筆記《5》- 實用

  • 根據推的長度,控制顯示狀態列是黑色還是白色

    swift學習筆記《5》- 實用

  • 如果不設定背景顏色,拖拽手勢返回的時候,右上角會有黑色,設定導航欄的背景色是白色

    swift學習筆記《5》- 實用

9.實現圖片的壓縮處理圓角處理(加入執行緒)

  • 使用CoreGraphisc是耗時操作,講圖片處理放在全域性佇列中,結果放在主執行緒中

    -(void)cz_coreImageWithSize:(CGSize)size fillColor:(UIColor*)fillColor complection:(void(^)(UIImage*image))complection;
    複製程式碼
  • 具體實現如下

    swift學習筆記《5》- 實用

10.Xcode 使用

    1. 替換已有類名: .h選中要改的類名 ---> 選單欄選中 Edit ---> Refactor ---> Rename

    swift學習筆記《5》- 實用

    1. 替換已有類名:
    1. Xcode 修改應用的名字 找到 TARGETS 中的 Build Setting , 搜尋 Product Name->雙擊修改

相關文章