Skip to content

Instantly share code, notes, and snippets.

View AmatsuZero's full-sized avatar
💭
I may be slow to respond.

Daubert Jiang AmatsuZero

💭
I may be slow to respond.
  • Tencent
  • Beijing, China
View GitHub Profile
@AmatsuZero
AmatsuZero / EShopLoadingView.swift
Created October 16, 2018 11:30
eShop Loading Effect
//
// EShopLoadingView.swift
// EShopHelper
//
// Created by Jiang,Zhenhua on 2018/10/16.
// Copyright © 2018 Daubert. All rights reserved.
//
import UIKit
@AmatsuZero
AmatsuZero / BlurImage.swift
Last active October 30, 2018 15:46
图片模糊化处理
import Accelerate
import UIKit
extension UIImage {
private static let cache = NSCache<NSString, UIImage>()
func bluredImage(factor: CGFloat) -> UIImage? {
var blur = factor
if blur < 0 || blur > 1 {
//
// Optional.swift
//
// Created by Jiang,Zhenhua on 2018/11/25.
//
import Foundation
extension Optional {
@AmatsuZero
AmatsuZero / InfiniteTableView.swift
Created December 1, 2018 07:43
无限滚动TableView
//
// InfiniteTableView.swift
// EShopHelper
//
// Created by Jiang,Zhenhua on 2018/12/1.
// Copyright © 2018 Daubert. All rights reserved.
//
import UIKit
//
// EHStreamSession.swift
// EShopHelper
//
// Created by Jiang,Zhenhua on 2018/12/3.
// Copyright © 2018 Daubert. All rights reserved.
//
import Foundation
@AmatsuZero
AmatsuZero / UIApplication+Extensions.swift
Created December 17, 2018 03:10
iOS 检查推送是否打开&跳转到设置页面
//
// UIApplication+Extensions.swift
//
// Created by Jiang,Zhenhua on 2018/12/17.
// Copyright © 2018 Daubert. All rights reserved.
//
import UIKit
import UserNotifications
@AmatsuZero
AmatsuZero / 字符串转OSType.swift
Created December 24, 2018 05:36
字符串转OSType
extension String {
var fourCharCode: FourCharCode? {
guard self.count == 4 else {
return nil
}
return self.utf16.reduce(0) { $0 << 8 + FourCharCode($1) }
}
}
@AmatsuZero
AmatsuZero / DispatchTime+Extensions.swift
Created January 1, 2019 08:23
DispatchTime 便捷方法
extension DispatchTime: ExpressibleByIntegerLiteral {
public init(integerLiteral value: Int) {
self = DispatchTime.now() + .seconds(value)
}
}
extension DispatchTime: ExpressibleByFloatLiteral {
public init(floatLiteral value: Double) {
self = DispatchTime.now() + .milliseconds(Int(value * 1000))
}
@AmatsuZero
AmatsuZero / Bridge.swift
Created January 6, 2019 07:54
Swift self casting
func bridge<T : AnyObject>(obj : T) -> UnsafeRawPointer {
return UnsafeRawPointer(Unmanaged.passUnretained(obj).toOpaque())
}
func bridge<T : AnyObject>(ptr : UnsafeRawPointer) -> T {
return Unmanaged<T>.fromOpaque(ptr).takeUnretainedValue()
}
func bridgeRetained<T : AnyObject>(obj : T) -> UnsafeRawPointer {
return UnsafeRawPointer(Unmanaged.passRetained(obj).toOpaque())
extension CALayer {
func applySketchShadow(
color: UIColor = .black,
alpha: Float = 0.5,
x: CGFloat = 0,
y: CGFloat = 2,
blur: CGFloat = 4,
spread: CGFloat = 0)
{
shadowColor = color.cgColor