#[repr(C)]pub struct UIHoverGestureRecognizer { /* private fields */ }
UIGestureRecognizer
and UIHoverGestureRecognizer
only.Expand description
Implementations§
Source§impl UIHoverGestureRecognizer
impl UIHoverGestureRecognizer
Sourcepub unsafe fn zOffset(&self) -> CGFloat
Available on crate feature objc2-core-foundation
only.
pub unsafe fn zOffset(&self) -> CGFloat
objc2-core-foundation
only.The normalized distance from the screen of the hovering device. This value will be 1 at the maximum distance from the screen and will approach 0 as the device gets closer to the screen. Will always return 0 for devices that don’t support z offset.
Sourcepub unsafe fn azimuthAngleInView(&self, view: Option<&UIView>) -> CGFloat
Available on crate features UIResponder
and UIView
and objc2-core-foundation
only.
pub unsafe fn azimuthAngleInView(&self, view: Option<&UIView>) -> CGFloat
UIResponder
and UIView
and objc2-core-foundation
only.The azimuth angle of the current device in the specified view, or the gesture recognizer’s window if nil. 0 is returned for devices that don’t support azimuth.
Sourcepub unsafe fn azimuthUnitVectorInView(&self, view: Option<&UIView>) -> CGVector
Available on crate features UIResponder
and UIView
and objc2-core-foundation
only.
pub unsafe fn azimuthUnitVectorInView(&self, view: Option<&UIView>) -> CGVector
UIResponder
and UIView
and objc2-core-foundation
only.The azimuth unit vector of the current device in the specified view, or the gesture recognizer’s window if nil. An empty vector is returned for devices that don’t support azimuth.
Sourcepub unsafe fn altitudeAngle(&self) -> CGFloat
Available on crate feature objc2-core-foundation
only.
pub unsafe fn altitudeAngle(&self) -> CGFloat
objc2-core-foundation
only.The altitude angle of the current device. 0 is returned for devices that don’t support altitude.
pub unsafe fn rollAngle(&self) -> CGFloat
objc2-core-foundation
only.Source§impl UIHoverGestureRecognizer
Methods declared on superclass UIGestureRecognizer
.
impl UIHoverGestureRecognizer
Methods declared on superclass UIGestureRecognizer
.
pub unsafe fn initWithTarget_action( this: Allocated<Self>, target: Option<&AnyObject>, action: Option<Sel>, ) -> Retained<Self>
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>
pub unsafe fn initWithCoder( this: Allocated<Self>, coder: &NSCoder, ) -> Option<Retained<Self>>
Source§impl UIHoverGestureRecognizer
Methods declared on superclass NSObject
.
impl UIHoverGestureRecognizer
Methods declared on superclass NSObject
.
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>
Methods from Deref<Target = UIGestureRecognizer>§
pub unsafe fn addTarget_action(&self, target: &AnyObject, action: Sel)
pub unsafe fn removeTarget_action( &self, target: Option<&AnyObject>, action: Option<Sel>, )
pub fn delegate( &self, ) -> Option<Retained<ProtocolObject<dyn UIGestureRecognizerDelegate>>>
Sourcepub fn setDelegate(
&self,
delegate: Option<&ProtocolObject<dyn UIGestureRecognizerDelegate>>,
)
pub fn setDelegate( &self, delegate: Option<&ProtocolObject<dyn UIGestureRecognizerDelegate>>, )
This is a weak property.
Setter for delegate
.
pub unsafe fn isEnabled(&self) -> bool
Sourcepub unsafe fn setEnabled(&self, enabled: bool)
pub unsafe fn setEnabled(&self, enabled: bool)
Setter for isEnabled
.
pub unsafe fn view(&self) -> Option<Retained<UIView>>
UIResponder
and UIView
only.pub unsafe fn cancelsTouchesInView(&self) -> bool
Sourcepub unsafe fn setCancelsTouchesInView(&self, cancels_touches_in_view: bool)
pub unsafe fn setCancelsTouchesInView(&self, cancels_touches_in_view: bool)
Setter for cancelsTouchesInView
.
pub unsafe fn delaysTouchesBegan(&self) -> bool
Sourcepub unsafe fn setDelaysTouchesBegan(&self, delays_touches_began: bool)
pub unsafe fn setDelaysTouchesBegan(&self, delays_touches_began: bool)
Setter for delaysTouchesBegan
.
pub unsafe fn delaysTouchesEnded(&self) -> bool
Sourcepub unsafe fn setDelaysTouchesEnded(&self, delays_touches_ended: bool)
pub unsafe fn setDelaysTouchesEnded(&self, delays_touches_ended: bool)
Setter for delaysTouchesEnded
.
pub unsafe fn allowedTouchTypes(&self) -> Retained<NSArray<NSNumber>>
Sourcepub unsafe fn setAllowedTouchTypes(
&self,
allowed_touch_types: &NSArray<NSNumber>,
)
pub unsafe fn setAllowedTouchTypes( &self, allowed_touch_types: &NSArray<NSNumber>, )
Setter for allowedTouchTypes
.
pub unsafe fn allowedPressTypes(&self) -> Retained<NSArray<NSNumber>>
Sourcepub unsafe fn setAllowedPressTypes(
&self,
allowed_press_types: &NSArray<NSNumber>,
)
pub unsafe fn setAllowedPressTypes( &self, allowed_press_types: &NSArray<NSNumber>, )
Setter for allowedPressTypes
.
pub unsafe fn requiresExclusiveTouchType(&self) -> bool
Sourcepub unsafe fn setRequiresExclusiveTouchType(
&self,
requires_exclusive_touch_type: bool,
)
pub unsafe fn setRequiresExclusiveTouchType( &self, requires_exclusive_touch_type: bool, )
Setter for requiresExclusiveTouchType
.
pub unsafe fn requireGestureRecognizerToFail( &self, other_gesture_recognizer: &UIGestureRecognizer, )
pub unsafe fn locationInView(&self, view: Option<&UIView>) -> CGPoint
UIResponder
and UIView
and objc2-core-foundation
only.pub unsafe fn numberOfTouches(&self) -> NSUInteger
pub unsafe fn locationOfTouch_inView( &self, touch_index: NSUInteger, view: Option<&UIView>, ) -> CGPoint
UIResponder
and UIView
and objc2-core-foundation
only.pub unsafe fn name(&self) -> Option<Retained<NSString>>
pub unsafe fn modifierFlags(&self) -> UIKeyModifierFlags
UICommand
only.UIEvent
only.Sourcepub unsafe fn setState(&self, state: UIGestureRecognizerState)
Available on crate feature UIGestureRecognizerSubclass
only.
pub unsafe fn setState(&self, state: UIGestureRecognizerState)
UIGestureRecognizerSubclass
only.Setter for state
.
pub unsafe fn ignoreTouch_forEvent(&self, touch: &UITouch, event: &UIEvent)
UIGestureRecognizerSubclass
and UIEvent
and UITouch
only.pub unsafe fn ignorePress_forEvent( &self, button: &UIPress, event: &UIPressesEvent, )
UIGestureRecognizerSubclass
and UIEvent
and UIPress
and UIPressesEvent
only.pub unsafe fn reset(&self)
UIGestureRecognizerSubclass
only.pub unsafe fn canPreventGestureRecognizer( &self, prevented_gesture_recognizer: &UIGestureRecognizer, ) -> bool
UIGestureRecognizerSubclass
only.pub unsafe fn canBePreventedByGestureRecognizer( &self, preventing_gesture_recognizer: &UIGestureRecognizer, ) -> bool
UIGestureRecognizerSubclass
only.pub unsafe fn shouldRequireFailureOfGestureRecognizer( &self, other_gesture_recognizer: &UIGestureRecognizer, ) -> bool
UIGestureRecognizerSubclass
only.pub unsafe fn shouldBeRequiredToFailByGestureRecognizer( &self, other_gesture_recognizer: &UIGestureRecognizer, ) -> bool
UIGestureRecognizerSubclass
only.pub unsafe fn shouldReceiveEvent(&self, event: &UIEvent) -> bool
UIGestureRecognizerSubclass
and UIEvent
only.pub unsafe fn touchesBegan_withEvent( &self, touches: &NSSet<UITouch>, event: &UIEvent, )
UIGestureRecognizerSubclass
and UIEvent
and UITouch
only.pub unsafe fn touchesMoved_withEvent( &self, touches: &NSSet<UITouch>, event: &UIEvent, )
UIGestureRecognizerSubclass
and UIEvent
and UITouch
only.pub unsafe fn touchesEnded_withEvent( &self, touches: &NSSet<UITouch>, event: &UIEvent, )
UIGestureRecognizerSubclass
and UIEvent
and UITouch
only.pub unsafe fn touchesCancelled_withEvent( &self, touches: &NSSet<UITouch>, event: &UIEvent, )
UIGestureRecognizerSubclass
and UIEvent
and UITouch
only.pub unsafe fn touchesEstimatedPropertiesUpdated(&self, touches: &NSSet<UITouch>)
UIGestureRecognizerSubclass
and UITouch
only.pub unsafe fn pressesBegan_withEvent( &self, presses: &NSSet<UIPress>, event: &UIPressesEvent, )
UIGestureRecognizerSubclass
and UIEvent
and UIPress
and UIPressesEvent
only.pub unsafe fn pressesChanged_withEvent( &self, presses: &NSSet<UIPress>, event: &UIPressesEvent, )
UIGestureRecognizerSubclass
and UIEvent
and UIPress
and UIPressesEvent
only.pub unsafe fn pressesEnded_withEvent( &self, presses: &NSSet<UIPress>, event: &UIPressesEvent, )
UIGestureRecognizerSubclass
and UIEvent
and UIPress
and UIPressesEvent
only.pub unsafe fn pressesCancelled_withEvent( &self, presses: &NSSet<UIPress>, event: &UIPressesEvent, )
UIGestureRecognizerSubclass
and UIEvent
and UIPress
and UIPressesEvent
only.pub fn state(&self) -> UIGestureRecognizerState
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
Available on crate feature UIIndirectScribbleInteraction
only.
pub fn class(&self) -> &'static AnyClass
UIIndirectScribbleInteraction
only.Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init
/new
methods).
§Example
Check that an instance of NSObject
has the precise class NSObject
.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load
instead.Available on crate feature UIIndirectScribbleInteraction
only.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load
instead.UIIndirectScribbleInteraction
only.Use Ivar::load
instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T
.
See Ivar::load_ptr
for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Available on crate feature UIIndirectScribbleInteraction
only.
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
UIIndirectScribbleInteraction
only.Attempt to downcast the object to a class of type T
.
This is the reference-variant. Use Retained::downcast
if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString
.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString
to a NSMutableString
,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass:
for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject
.
§Panics
This works internally by calling isKindOfClass:
. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject
and
NSProxy
implement this method.
§Examples
Cast an NSString
back and forth from NSObject
.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();
Try (and fail) to cast an NSObject
to an NSString
.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());
Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();
This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}
Trait Implementations§
Source§impl AsRef<AnyObject> for UIHoverGestureRecognizer
impl AsRef<AnyObject> for UIHoverGestureRecognizer
Source§impl AsRef<NSObject> for UIHoverGestureRecognizer
impl AsRef<NSObject> for UIHoverGestureRecognizer
Source§impl AsRef<UIGestureRecognizer> for UIHoverGestureRecognizer
impl AsRef<UIGestureRecognizer> for UIHoverGestureRecognizer
Source§fn as_ref(&self) -> &UIGestureRecognizer
fn as_ref(&self) -> &UIGestureRecognizer
Source§impl Borrow<AnyObject> for UIHoverGestureRecognizer
impl Borrow<AnyObject> for UIHoverGestureRecognizer
Source§impl Borrow<NSObject> for UIHoverGestureRecognizer
impl Borrow<NSObject> for UIHoverGestureRecognizer
Source§impl Borrow<UIGestureRecognizer> for UIHoverGestureRecognizer
impl Borrow<UIGestureRecognizer> for UIHoverGestureRecognizer
Source§fn borrow(&self) -> &UIGestureRecognizer
fn borrow(&self) -> &UIGestureRecognizer
Source§impl ClassType for UIHoverGestureRecognizer
impl ClassType for UIHoverGestureRecognizer
Source§const NAME: &'static str = "UIHoverGestureRecognizer"
const NAME: &'static str = "UIHoverGestureRecognizer"
Source§type Super = UIGestureRecognizer
type Super = UIGestureRecognizer
Source§type ThreadKind = <<UIHoverGestureRecognizer as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<UIHoverGestureRecognizer as ClassType>::Super as ClassType>::ThreadKind
Source§impl Debug for UIHoverGestureRecognizer
impl Debug for UIHoverGestureRecognizer
Source§impl Deref for UIHoverGestureRecognizer
impl Deref for UIHoverGestureRecognizer
Source§impl Hash for UIHoverGestureRecognizer
impl Hash for UIHoverGestureRecognizer
Source§impl Message for UIHoverGestureRecognizer
impl Message for UIHoverGestureRecognizer
Source§impl NSObjectProtocol for UIHoverGestureRecognizer
impl NSObjectProtocol for UIHoverGestureRecognizer
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass
directly, or cast your objects with AnyObject::downcast_ref
Source§fn isMemberOfClass(&self, cls: &AnyClass) -> bool
fn isMemberOfClass(&self, cls: &AnyClass) -> bool
Source§fn respondsToSelector(&self, aSelector: Sel) -> bool
fn respondsToSelector(&self, aSelector: Sel) -> bool
Source§fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
Source§fn debugDescription(&self) -> Retained<NSObject>
fn debugDescription(&self) -> Retained<NSObject>
Source§impl PartialEq for UIHoverGestureRecognizer
impl PartialEq for UIHoverGestureRecognizer
Source§impl RefEncode for UIHoverGestureRecognizer
impl RefEncode for UIHoverGestureRecognizer
Source§const ENCODING_REF: Encoding = <UIGestureRecognizer as ::objc2::RefEncode>::ENCODING_REF
const ENCODING_REF: Encoding = <UIGestureRecognizer as ::objc2::RefEncode>::ENCODING_REF
impl DowncastTarget for UIHoverGestureRecognizer
impl Eq for UIHoverGestureRecognizer
Auto Trait Implementations§
impl !Freeze for UIHoverGestureRecognizer
impl !RefUnwindSafe for UIHoverGestureRecognizer
impl !Send for UIHoverGestureRecognizer
impl !Sync for UIHoverGestureRecognizer
impl !Unpin for UIHoverGestureRecognizer
impl !UnwindSafe for UIHoverGestureRecognizer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<'a, T> MainThreadOnly for T
impl<'a, T> MainThreadOnly for T
Source§fn mtm(&self) -> MainThreadMarker
fn mtm(&self) -> MainThreadMarker
MainThreadMarker
from the main-thread-only object. Read more