Functions
The following functions are available globally.
-
保存图片到指定相册(传入 UIImage)
Declaration
Objective-C
extern void QMUIImageWriteToSavedPhotosAlbumWithAlbumAssetsGroup( UIImage *image, QMUIAssetsGroup *albumAssetsGroup, QMUIWriteAssetCompletionBlock completionBlock)
Swift
func QMUIImageWriteToSavedPhotosAlbumWithAlbumAssetsGroup(_ image: UIImage!, _ albumAssetsGroup: QMUIAssetsGroup!, _ completionBlock: QMUIWriteAssetCompletionBlock!)
-
保存图片到指定相册(传入图片路径)
Declaration
Objective-C
extern void QMUISaveImageAtPathToSavedPhotosAlbumWithAlbumAssetsGroup( NSString *imagePath, QMUIAssetsGroup *albumAssetsGroup, QMUIWriteAssetCompletionBlock completionBlock)
Swift
func QMUISaveImageAtPathToSavedPhotosAlbumWithAlbumAssetsGroup(_ imagePath: String!, _ albumAssetsGroup: QMUIAssetsGroup!, _ completionBlock: QMUIWriteAssetCompletionBlock!)
-
保存视频到指定相册
Declaration
Objective-C
extern void QMUISaveVideoAtPathToSavedPhotosAlbumWithAlbumAssetsGroup( NSString *videoPath, QMUIAssetsGroup *albumAssetsGroup, QMUIWriteAssetCompletionBlock completionBlock)
Swift
func QMUISaveVideoAtPathToSavedPhotosAlbumWithAlbumAssetsGroup(_ videoPath: String!, _ albumAssetsGroup: QMUIAssetsGroup!, _ completionBlock: QMUIWriteAssetCompletionBlock!)
-
Declaration
Objective-C
static inline CGFloat QMUI_Linear(CGFloat t)
Swift
func QMUI_Linear(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInSine(CGFloat t) { return 1 - cos(t * M_PI_2); }
Swift
func QMUI_EaseInSine(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseOutSine(CGFloat t) { return sin(t * M_PI_2); }
Swift
func QMUI_EaseOutSine(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInOutSine(CGFloat t) { return - (cos(M_PI * t) - 1) / 2; }
Swift
func QMUI_EaseInOutSine(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInQuad(CGFloat t) { return pow(t, 2); }
Swift
func QMUI_EaseInQuad(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseOutQuad(CGFloat t) { return 1 - pow(1 - t, 2); }
Swift
func QMUI_EaseOutQuad(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInOutQuad(CGFloat t) { return t < 0.5 ? (2 * pow(t, 2)) : (1 - pow(-2 * t + 2, 2) / 2); }
Swift
func QMUI_EaseInOutQuad(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInCubic(CGFloat t) { return pow(t, 3); }
Swift
func QMUI_EaseInCubic(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseOutCubic(CGFloat t) { return 1 - pow(1 - t, 3); }
Swift
func QMUI_EaseOutCubic(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInOutCubic(CGFloat t) { return t < 0.5 ? (4 * pow(t, 3)) : (1 - pow(-2 * t + 2, 3) / 2); }
Swift
func QMUI_EaseInOutCubic(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInQuart(CGFloat t) { return pow(t, 4); }
Swift
func QMUI_EaseInQuart(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseOutQuart(CGFloat t) { return 1 - pow(1 - t, 4); }
Swift
func QMUI_EaseOutQuart(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInOutQuart(CGFloat t) { return t < 0.5 ? (8 * pow(t, 4)) : (1 - pow(-2 * t + 2, 4) / 2); }
Swift
func QMUI_EaseInOutQuart(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInQuint(CGFloat t) { return pow(t, 5); }
Swift
func QMUI_EaseInQuint(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseOutQuint(CGFloat t) { return 1 - pow(1 - t, 5); }
Swift
func QMUI_EaseOutQuint(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInOutQuint(CGFloat t) { return t < 0.5 ? (16 * pow(t, 5)) : (1 - pow(-2 * t + 2, 5) / 2); }
Swift
func QMUI_EaseInOutQuint(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInExpo(CGFloat t) { return t == 0 ? 0 : pow(2, 10 * t - 10); }
Swift
func QMUI_EaseInExpo(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseOutExpo(CGFloat t) { return t == 1 ? 1 : 1 - pow(2, -10 * t); }
Swift
func QMUI_EaseOutExpo(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInOutExpo(CGFloat t) { return t == 0 ? 0 : t == 1 ? 1 : t < 0.5 ? pow(2, 20 * t - 10 ) / 2 : (2 - pow(2, -20 * t + 10 )) / 2; }
Swift
func QMUI_EaseInOutExpo(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInCirc(CGFloat t) { return 1 - sqrt(1 - pow(t, 2)); }
Swift
func QMUI_EaseInCirc(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseOutCirc(CGFloat t) { return sqrt(1 - pow(t - 1, 2)); }
Swift
func QMUI_EaseOutCirc(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInOutCirc(CGFloat t) { return t < 0.5 ? (1 - sqrt(1 - pow(2 * t, 2))) / 2 : (sqrt(1 - pow(-2 * t + 2, 2)) + 1) / 2; }
Swift
func QMUI_EaseInOutCirc(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInBack(CGFloat t) { return pow(t, 3) - t * sin(t * M_PI); }
Swift
func QMUI_EaseInBack(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseOutBack(CGFloat t) { CGFloat f = (1 - t); return 1 - (pow(f, 3) - f * sin(f * M_PI)); }
Swift
func QMUI_EaseOutBack(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInOutBack(CGFloat t) { if (t < 0.5) { CGFloat f = 2 * t; return 0.5 * (pow(f, 3) - f * sin(f * M_PI)); } else { CGFloat f = (1 - (2 * t - 1)); return 0.5 * (1 - (pow(f, 3) - f * sin(f * M_PI))) + 0.5; } }
Swift
func QMUI_EaseInOutBack(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInElastic(CGFloat t) { return sin(13 * M_PI_2 * t) * pow(2, 10 * (t - 1)); }
Swift
func QMUI_EaseInElastic(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseOutElastic(CGFloat t) { return sin(-13 * M_PI_2 * (t + 1)) * pow(2, -10 * t) + 1; }
Swift
func QMUI_EaseOutElastic(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInOutElastic(CGFloat t) { if (t < 0.5) { return 0.5 * sin(13 * M_PI_2 * (2 * t)) * pow(2, 10 * ((2 * t) - 1)); } else { return 0.5 * (sin(-13 * M_PI_2 * ((2 * t - 1) + 1)) * pow(2, -10 * (2 * t - 1)) + 2); } }
Swift
func QMUI_EaseInOutElastic(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseOutBounce(CGFloat t) { if (t < 4.0 / 11.0) { return (121.0 * t * t) / 16.0; } else if (t < 8.0 / 11.0) { return (363.0 / 40.0 * t * t) - (99.0 / 10.0 * t) + 17.0 / 5.0; } else if(t < 9.0 / 10.0) { return (4356.0 / 361.0 * t * t) - (35442.0 / 1805.0 * t) + 16061.0 / 1805.0; } else { return (54.0 / 5.0 * t * t) - (513.0 / 25.0 * t) + 268.0 / 25.0; } }
Swift
func QMUI_EaseOutBounce(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInBounce(CGFloat t) { return 1 - QMUI_EaseOutBounce(1 - t); }
Swift
func QMUI_EaseInBounce(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseInOutBounce(CGFloat t) { if (t < 0.5) { return 0.5 * QMUI_EaseInBounce(t * 2); } else { return 0.5 * QMUI_EaseOutBounce(t * 2 - 1) + 0.5; } }
Swift
func QMUI_EaseInOutBounce(_ t: CGFloat) -> CGFloat
-
Undocumented
Declaration
Objective-C
CG_INLINE CGFloat QMUI_EaseSpring(CGFloat t, CGFloat mass, CGFloat damping, CGFloat stiffness, CGFloat initialVelocity) { // https://webkit.org/demos/spring/spring.js // https://webkit.org/demos/spring CGFloat m_w0 = sqrt(stiffness / mass); CGFloat m_zeta = damping / (2 * sqrt(stiffness * mass)); CGFloat m_wd = 0; CGFloat m_A = 0; CGFloat m_B = 0; if (m_zeta < 1) { // Under-damped. m_wd = m_w0 * sqrt(1 - m_zeta * m_zeta); m_A = 1; m_B = (m_zeta * m_w0 + -initialVelocity) / m_wd; } else { // Critically damped (ignoring over-damped case for now). m_wd = 0; m_A = 1; m_B = -initialVelocity + m_w0; } if (m_zeta < 1) { // Under-damped t = exp(-t * m_zeta * m_w0) * (m_A * cos(m_wd * t) + m_B * sin(m_wd * t)); } else { // Critically damped (ignoring over-damped case for now). t = (m_A + m_B * t) * exp(-t * m_w0); } // Map range from [1..0] to [0..1]. return 1 - t; }
Swift
func QMUI_EaseSpring(_ t: CGFloat, _ mass: CGFloat, _ damping: CGFloat, _ stiffness: CGFloat, _ initialVelocity: CGFloat) -> CGFloat