【Swift 3.1】iOS开发笔记(四) - 农民伯伯
2018-1-11 11:42:0 Author: www.cnblogs.com(查看原文) 阅读量:5 收藏

  一、唱片旋转效果(360°无限顺时针旋转)

    func animationRotateCover() {
        coverImageView.layer.removeAllAnimations()

        let animation = CABasicAnimation(keyPath: "transform.rotation")
        animation.fromValue = 0
        animation.toValue = CGFloat.pi * 2
        animation.duration = 5
        animation.isCumulative = true
        animation.repeatCount = Float.infinity
        coverImageView.layer.add(animation, forKey: nil)
    }

  二、防止文件被 iCloud 同步备份

    NSURLIsExcludedFromBackupKey

  三、禁止 UICollectionView reload/insert 动画

      UIView.performWithoutAnimation {
           self.videoPartCollectionView.reloadData()
      }

  四、Objective-C 中的 performSelector 在 Swift 里变成了 sendAction

    var rightTappedSelector: Selector?

    @IBAction func rightTappedAction(_ sender: Any) {
        guard let selector = rightTappedSelector else {
            return
        }
        rightButton.sendAction(selector, to: nil, for: nil)
    }

  五、获得 CGAffineTransform 的 rotation 信息

extension CGAffineTransform {

    func getTransformRotation() -> CGFloat {
        return atan2(self.b, self.a)  * 180 / CGFloat.pi
    }
    
}

  六、获取 Date 的 nano 时间

extension Date {

    func nanosecond() -> Int64 {
        let nanosecond: Int64 = Int64(Calendar.current.dateComponents([.nanosecond], from: self).nanosecond ?? 0)
        return Int64(self.timeIntervalSince1970 * 1000000000) + nanosecond
    }

}

  七、AVCapturePhotoOutput.capturePhoto 崩溃的问题

    不要让 UIViewController 实现 AVCapturePhotoCaptureDelegate ,要跟 AVCam 例子一样弄一个 class PhotoCaptureDelegate: NSObject, AVCapturePhotoCaptureDelegate 就不崩溃了,什么鬼问题


文章来源: https://www.cnblogs.com/over140/p/6836240.html
如有侵权请联系:admin#unsafe.sh