#[repr(C)]pub struct UITapGestureRecognizer { /* private fields */ }
UIGestureRecognizer
and UITapGestureRecognizer
only.Expand description
Implementations§
Source§impl UITapGestureRecognizer
impl UITapGestureRecognizer
pub fn numberOfTapsRequired(&self) -> NSUInteger
Sourcepub fn setNumberOfTapsRequired(&self, number_of_taps_required: NSUInteger)
pub fn setNumberOfTapsRequired(&self, number_of_taps_required: NSUInteger)
Setter for numberOfTapsRequired
.
pub fn numberOfTouchesRequired(&self) -> NSUInteger
Sourcepub fn setNumberOfTouchesRequired(&self, number_of_touches_required: NSUInteger)
pub fn setNumberOfTouchesRequired(&self, number_of_touches_required: NSUInteger)
Setter for numberOfTouchesRequired
.
UIEvent
only.Sourcepub fn setButtonMaskRequired(&self, button_mask_required: UIEventButtonMask)
Available on crate feature UIEvent
only.
pub fn setButtonMaskRequired(&self, button_mask_required: UIEventButtonMask)
UIEvent
only.Setter for buttonMaskRequired
.
Source§impl UITapGestureRecognizer
Methods declared on superclass UIGestureRecognizer
.
impl UITapGestureRecognizer
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 UITapGestureRecognizer
Methods declared on superclass NSObject
.
impl UITapGestureRecognizer
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 UITapGestureRecognizer
impl AsRef<AnyObject> for UITapGestureRecognizer
Source§impl AsRef<NSObject> for UITapGestureRecognizer
impl AsRef<NSObject> for UITapGestureRecognizer
Source§impl AsRef<UIGestureRecognizer> for UITapGestureRecognizer
impl AsRef<UIGestureRecognizer> for UITapGestureRecognizer
Source§fn as_ref(&self) -> &UIGestureRecognizer
fn as_ref(&self) -> &UIGestureRecognizer
Source§impl Borrow<AnyObject> for UITapGestureRecognizer
impl Borrow<AnyObject> for UITapGestureRecognizer
Source§impl Borrow<NSObject> for UITapGestureRecognizer
impl Borrow<NSObject> for UITapGestureRecognizer
Source§impl Borrow<UIGestureRecognizer> for UITapGestureRecognizer
impl Borrow<UIGestureRecognizer> for UITapGestureRecognizer
Source§fn borrow(&self) -> &UIGestureRecognizer
fn borrow(&self) -> &UIGestureRecognizer
Source§impl ClassType for UITapGestureRecognizer
impl ClassType for UITapGestureRecognizer
Source§const NAME: &'static str = "UITapGestureRecognizer"
const NAME: &'static str = "UITapGestureRecognizer"
Source§type Super = UIGestureRecognizer
type Super = UIGestureRecognizer
Source§type ThreadKind = dyn MainThreadOnly
type ThreadKind = dyn MainThreadOnly
Source§impl Debug for UITapGestureRecognizer
impl Debug for UITapGestureRecognizer
Source§impl Deref for UITapGestureRecognizer
impl Deref for UITapGestureRecognizer
Source§impl Hash for UITapGestureRecognizer
impl Hash for UITapGestureRecognizer
Source§impl Message for UITapGestureRecognizer
impl Message for UITapGestureRecognizer
Source§impl NSObjectProtocol for UITapGestureRecognizer
impl NSObjectProtocol for UITapGestureRecognizer
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 UITapGestureRecognizer
impl PartialEq for UITapGestureRecognizer
Source§impl RefEncode for UITapGestureRecognizer
impl RefEncode for UITapGestureRecognizer
Source§const ENCODING_REF: Encoding = <UIGestureRecognizer as ::objc2::RefEncode>::ENCODING_REF
const ENCODING_REF: Encoding = <UIGestureRecognizer as ::objc2::RefEncode>::ENCODING_REF
impl DowncastTarget for UITapGestureRecognizer
impl Eq for UITapGestureRecognizer
Auto Trait Implementations§
impl !Freeze for UITapGestureRecognizer
impl !RefUnwindSafe for UITapGestureRecognizer
impl !Send for UITapGestureRecognizer
impl !Sync for UITapGestureRecognizer
impl !Unpin for UITapGestureRecognizer
impl !UnwindSafe for UITapGestureRecognizer
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