refactor isOperatingSystemAtLeastMajorVersion; workaround of longPress for menu or link

This commit is contained in:
nixzhu
2015-09-19 00:16:00 +08:00
parent f2411d72f4
commit eddee5ede9
4 changed files with 38 additions and 6 deletions
+4
View File
@@ -78,3 +78,7 @@ func cleanRealmAndCaches() {
NSNotificationCenter.defaultCenter().postNotificationName(EditProfileViewController.Notification.Logout, object: nil)
}
func isOperatingSystemAtLeastMajorVersion(majorVersion: Int) -> Bool {
return NSProcessInfo().isOperatingSystemAtLeastVersion(NSOperatingSystemVersion(majorVersion: majorVersion, minorVersion: 0, patchVersion: 0))
}
@@ -116,7 +116,20 @@ extension ChatLeftTextCell: UIGestureRecognizerDelegate {
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOfGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return false
// iOS 9 menu
if isOperatingSystemAtLeastMajorVersion(9) {
if let longPressGestureRecognizer = otherGestureRecognizer as? UILongPressGestureRecognizer {
if longPressGestureRecognizer.minimumPressDuration == 0.75 {
return true
}
}
return false
}
return true
}
}
@@ -139,7 +139,20 @@ extension ChatRightTextCell: UIGestureRecognizerDelegate {
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOfGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return false
// iOS 9 menu
if isOperatingSystemAtLeastMajorVersion(9) {
if let longPressGestureRecognizer = otherGestureRecognizer as? UILongPressGestureRecognizer {
if longPressGestureRecognizer.minimumPressDuration == 0.75 {
return true
}
}
return false
}
return true
}
}
+6 -4
View File
@@ -10,17 +10,19 @@ import UIKit
class ChatTextView: UITextView {
var menuLongPressGestureRecognizer: UILongPressGestureRecognizer!
override func canBecomeFirstResponder() -> Bool {
return false
}
override func addGestureRecognizer(gestureRecognizer: UIGestureRecognizer) {
if NSProcessInfo().isOperatingSystemAtLeastVersion(NSOperatingSystemVersion(majorVersion: 9, minorVersion: 0, patchVersion: 0)) {
// iOS 9
// iOS 9 0.1 Reveal0.12 tap link0.5 selection 0.75 press link
if isOperatingSystemAtLeastMajorVersion(9) {
if let longPressGestureRecognizer = gestureRecognizer as? UILongPressGestureRecognizer {
return
if longPressGestureRecognizer.minimumPressDuration == 0.5 {
return
}
}
}