新特性介面

ytmaylover發表於2018-09-05
  • 使用collectionView

  • UIcollectionViewlayout 自定義prepared 呼叫順序,1.count,2.準備佈局,3.返回cell

  • 重寫init 方法,設定外部引數照片的陣列,

  • 一個檔案中可以建立多個class ,建立類flowLyout. newFertureCell

  • NewfeatureLayoutprepareLayout() 方法 設定layout的引數,和collectionView的引數

  • 什麼時候呼叫? 1.先呼叫一個有多少行cell 2.呼叫準備佈局 3.呼叫返回cell

    
    override func prepareLayout() {
    
    // 1.設定layout佈局
    
    itemSize = UIScreen.mainScreen().bounds.size
    
    minimumInteritemSpacing = 0
    
    minimumLineSpacing = 0
    
    scrollDirection = UICollectionViewScrollDirection.Horizontal
    
    
    // 2.設定collectionView的屬性
    
    collectionView?.showsHorizontalScrollIndicator = false
    
    collectionView?.bounces = false
    
    collectionView?.pagingEnabled = true    
    
    }
    
    複製程式碼
  • cell 中設定button 顯示的動畫,設定button的點選傳送通知

  • 設定** transform** 動畫,完成之後 transform 設定 CGAffineTransform.identity ,歸位初始值

  • usingSpringWithDamping 為(0-1), 數值越小,彈力越大

  • initialSpringVelocity 速度 5,10,15

    // button的動畫
    
    func buttonStartAnimation(){
    
        cellButton.isHidden = false
    
        cellButton.transform = CGAffineTransform(scaleX: 0, y: 0);
    
        cellButton.isUserInteractionEnabled = false
    
        UIView.animate(withDuration: 2, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 10, options: UIViewAnimationOptions.init(rawValue: 0), animations: {
    
            self.cellButton.transform = CGAffineTransform.identity        
    
        }) { (_) in
    
            self.cellButton.isUserInteractionEnabled = true
    
        }
    }
    
    複製程式碼
  • swift 3.0 之傳送通知

  • 建立一個swift檔案,儲存常量,

  • 通知變化為 NSNotification.Name(rawValue:"")

    // 傳送通知
    let SwitchRootVCNotification = NSNotification.Name(rawValue:"SwitchRootViewControllerKey")
    
    NotificationCenter.default.post(name:SwitchRootVCNotification, object: nil)
    
    
    // 接收通知
    
    NotificationCenter.default.addObserver(self, selector: #selector(changeRoot), name: SwitchRootVCNotification, object: nil)
    
    複製程式碼

相關文章