Post

Replies

Boosts

Views

Activity

Reply to "Nice" way to exit app when Menu button is pressed?
You can also do this without using pressesBegan,Cancel,Changed,Ended The idea is that you provide a custom uipress and send it to the uiapplication.shared.pressesEnded and it gets called on the tap gesture pressEnded open class MenuUIPress : UIPress { 	weak var view: UIView? 	init(view: UIView) { 		self.view = view 	} 	open override var timestamp: TimeInterval { 		Date().timeIntervalSince1970 	} 	open override var phase: UIPress.Phase { 		UIPress.Phase.began 	} 	open override var type: UIPress.PressType { 		UIPress.PressType.menu 	} 	open override var window: UIWindow? { 		view?.window 	} 	open override var responder: UIResponder? { 		view 	} 	open override var gestureRecognizers: [UIGestureRecognizer]? { 		return view?.gestureRecognizers 	} } class SignInViewController: UIViewController { 	func	viewDidLoad() { 			setUpTapGesture() 	 } 	 private func setUpTapGesture() { 		#if os(tvOS) 			let tap = UITapGestureRecognizer() 			tap.allowedPressTypes = [NSNumber(value: UIPress.PressType.menu.rawValue)] 			tap.addTarget(self, action: #selector(SignInViewController.sendEndMenuTap)) 			view.addGestureRecognizer(tap) 		#endif 	} 	@objc func sendEndMenuTap(_ gestureRecognizer: UITapGestureRecognizer) { 		print("@@@@@ called on touch end 3 state=", gestureRecognizer.state.rawValue) 		UIApplication.shared.pressesEnded([MenuUIPress(view: view)], with: UIPressesEvent()) 	} }
Topic: App & System Services SubTopic: Core OS Tags:
Sep ’20
Reply to UITapGestureRecognizer not working on iOS9
You can also do this without using pressesBegan open class MenuUIPress : UIPress {   weak var view: UIView?   init(view: UIView) {     self.view = view   }   open override var timestamp: TimeInterval {     Date().timeIntervalSince1970   }   open override var phase: UIPress.Phase {     UIPress.Phase.began   }   open override var type: UIPress.PressType {     UIPress.PressType.menu   }   open override var window: UIWindow? {     view?.window   }   open override var responder: UIResponder? {     view   }   open override var gestureRecognizers: [UIGestureRecognizer]? {     return view?.gestureRecognizers   } } class SignInViewController { 	func	viewDidLoad() { 			setUpTapGesture() }    private func setUpTapGesture() {     #if os(tvOS)       let tap = UITapGestureRecognizer()       tap.allowedPressTypes = [NSNumber(value: UIPress.PressType.menu.rawValue)]       tap.addTarget(self, action: #selector(SignInViewController.sendEndMenuTap))       view.addGestureRecognizer(tap)     #endif   }   @objc func sendEndMenuTap(_ gestureRecognizer: UITapGestureRecognizer) {     print("@@@@@ called on touch end 3 state=", gestureRecognizer.state.rawValue)     UIApplication.shared.pressesEnded([MenuUIPress(view: view)], with: UIPressesEvent())   } }
Topic: App & System Services SubTopic: Core OS Tags:
Sep ’20