#[repr(C)]pub struct UIColor { /* private fields */ }
UIColor
only.Expand description
Implementations§
Source§impl UIColor
UIAccessibility.
impl UIColor
UIAccessibility.
pub unsafe fn accessibilityName(&self) -> Retained<NSString>
UIAccessibilityAdditions
only.Source§impl UIColor
impl UIColor
pub unsafe fn colorWithWhite_alpha( white: CGFloat, alpha: CGFloat, ) -> Retained<UIColor>
objc2-core-foundation
only.pub unsafe fn colorWithHue_saturation_brightness_alpha( hue: CGFloat, saturation: CGFloat, brightness: CGFloat, alpha: CGFloat, ) -> Retained<UIColor>
objc2-core-foundation
only.pub unsafe fn colorWithRed_green_blue_alpha( red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat, ) -> Retained<UIColor>
objc2-core-foundation
only.pub unsafe fn colorWithDisplayP3Red_green_blue_alpha( display_p3_red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat, ) -> Retained<UIColor>
objc2-core-foundation
only.pub unsafe fn colorWithCGColor(cg_color: &CGColor) -> Retained<UIColor>
objc2-core-graphics
only.pub unsafe fn colorWithPatternImage(image: &UIImage) -> Retained<UIColor>
UIImage
only.pub unsafe fn colorWithCIColor(ci_color: &CIColor) -> Retained<UIColor>
objc2-core-image
and non-watchOS only.pub unsafe fn initWithWhite_alpha( this: Allocated<Self>, white: CGFloat, alpha: CGFloat, ) -> Retained<UIColor>
objc2-core-foundation
only.pub unsafe fn initWithHue_saturation_brightness_alpha( this: Allocated<Self>, hue: CGFloat, saturation: CGFloat, brightness: CGFloat, alpha: CGFloat, ) -> Retained<UIColor>
objc2-core-foundation
only.pub unsafe fn initWithRed_green_blue_alpha( this: Allocated<Self>, red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat, ) -> Retained<UIColor>
objc2-core-foundation
only.pub unsafe fn initWithDisplayP3Red_green_blue_alpha( this: Allocated<Self>, display_p3_red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat, ) -> Retained<UIColor>
objc2-core-foundation
only.pub unsafe fn initWithCGColor( this: Allocated<Self>, cg_color: &CGColor, ) -> Retained<UIColor>
objc2-core-graphics
only.pub unsafe fn initWithPatternImage( this: Allocated<Self>, image: &UIImage, ) -> Retained<UIColor>
UIImage
only.pub unsafe fn initWithCIColor( this: Allocated<Self>, ci_color: &CIColor, ) -> Retained<UIColor>
objc2-core-image
and non-watchOS only.pub unsafe fn blackColor() -> Retained<UIColor>
pub unsafe fn darkGrayColor() -> Retained<UIColor>
pub unsafe fn lightGrayColor() -> Retained<UIColor>
pub unsafe fn whiteColor() -> Retained<UIColor>
pub unsafe fn grayColor() -> Retained<UIColor>
pub unsafe fn redColor() -> Retained<UIColor>
pub unsafe fn greenColor() -> Retained<UIColor>
pub unsafe fn blueColor() -> Retained<UIColor>
pub unsafe fn cyanColor() -> Retained<UIColor>
pub unsafe fn yellowColor() -> Retained<UIColor>
pub unsafe fn magentaColor() -> Retained<UIColor>
pub unsafe fn orangeColor() -> Retained<UIColor>
pub unsafe fn purpleColor() -> Retained<UIColor>
pub unsafe fn brownColor() -> Retained<UIColor>
pub unsafe fn clearColor() -> Retained<UIColor>
pub unsafe fn set(&self)
pub unsafe fn setFill(&self)
pub unsafe fn setStroke(&self)
pub unsafe fn getWhite_alpha( &self, white: *mut CGFloat, alpha: *mut CGFloat, ) -> bool
objc2-core-foundation
only.pub unsafe fn getHue_saturation_brightness_alpha( &self, hue: *mut CGFloat, saturation: *mut CGFloat, brightness: *mut CGFloat, alpha: *mut CGFloat, ) -> bool
objc2-core-foundation
only.pub unsafe fn getRed_green_blue_alpha( &self, red: *mut CGFloat, green: *mut CGFloat, blue: *mut CGFloat, alpha: *mut CGFloat, ) -> bool
objc2-core-foundation
only.pub unsafe fn colorWithAlphaComponent( &self, alpha: CGFloat, ) -> Retained<UIColor>
objc2-core-foundation
only.pub unsafe fn CGColor(&self) -> Retained<CGColor>
objc2-core-graphics
only.pub unsafe fn CIColor(&self) -> Retained<CIColor>
objc2-core-image
and non-watchOS only.impl UIColor
UINSItemProvider.
Source§impl UIColor
UIColorNamedColors.
impl UIColor
UIColorNamedColors.
pub unsafe fn colorNamed(name: &NSString) -> Option<Retained<UIColor>>
pub unsafe fn colorNamed_inBundle_compatibleWithTraitCollection( name: &NSString, bundle: Option<&NSBundle>, trait_collection: Option<&UITraitCollection>, ) -> Option<Retained<UIColor>>
UITraitCollection
only.Source§impl UIColor
DynamicColors.
impl UIColor
DynamicColors.
pub unsafe fn colorWithDynamicProvider( dynamic_provider: &DynBlock<dyn Fn(NonNull<UITraitCollection>) -> NonNull<UIColor>>, ) -> Retained<UIColor>
UITraitCollection
and block2
only.pub unsafe fn initWithDynamicProvider( this: Allocated<Self>, dynamic_provider: &DynBlock<dyn Fn(NonNull<UITraitCollection>) -> NonNull<UIColor>>, ) -> Retained<UIColor>
UITraitCollection
and block2
only.pub unsafe fn resolvedColorWithTraitCollection( &self, trait_collection: &UITraitCollection, ) -> Retained<UIColor>
UITraitCollection
only.Source§impl UIColor
ProminenceSupport.
impl UIColor
ProminenceSupport.
pub unsafe fn colorWithProminence( &self, prominence: UIColorProminence, ) -> Retained<UIColor>
pub unsafe fn prominence(&self) -> UIColorProminence
Source§impl UIColor
UIColorSystemColors.
impl UIColor
UIColorSystemColors.
pub unsafe fn systemRedColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemGreenColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemBlueColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemOrangeColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemYellowColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemPinkColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemPurpleColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemTealColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemIndigoColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemBrownColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemMintColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemCyanColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemGrayColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemGray2Color() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemGray3Color() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemGray4Color() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemGray5Color() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemGray6Color() -> Retained<UIColor>
UIInterface
only.pub unsafe fn tintColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn labelColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn secondaryLabelColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn tertiaryLabelColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn quaternaryLabelColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn linkColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn placeholderTextColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn separatorColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn opaqueSeparatorColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemBackgroundColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn secondarySystemBackgroundColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn tertiarySystemBackgroundColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemGroupedBackgroundColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn secondarySystemGroupedBackgroundColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn tertiarySystemGroupedBackgroundColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn systemFillColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn secondarySystemFillColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn tertiarySystemFillColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn quaternarySystemFillColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn lightTextColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn darkTextColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn groupTableViewBackgroundColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn viewFlipsideBackgroundColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn scrollViewTexturedBackgroundColor() -> Retained<UIColor>
UIInterface
only.pub unsafe fn underPageBackgroundColor() -> Retained<UIColor>
UIInterface
only.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 ClassType for UIColor
impl ClassType for UIColor
Source§const NAME: &'static str = "UIColor"
const NAME: &'static str = "UIColor"
Source§type ThreadKind = <<UIColor as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<UIColor as ClassType>::Super as ClassType>::ThreadKind
Source§impl CopyingHelper for UIColor
impl CopyingHelper for UIColor
Source§impl NSCopying for UIColor
impl NSCopying for UIColor
Source§impl NSItemProviderReading for UIColor
impl NSItemProviderReading for UIColor
Source§impl NSItemProviderWriting for UIColor
impl NSItemProviderWriting for UIColor
unsafe fn writableTypeIdentifiersForItemProvider_class() -> Retained<NSArray<NSString>>
unsafe fn writableTypeIdentifiersForItemProvider( &self, ) -> Retained<NSArray<NSString>>
unsafe fn itemProviderVisibilityForRepresentationWithTypeIdentifier_class( type_identifier: &NSString, ) -> NSItemProviderRepresentationVisibility
unsafe fn itemProviderVisibilityForRepresentationWithTypeIdentifier( &self, type_identifier: &NSString, ) -> NSItemProviderRepresentationVisibility
Source§impl NSObjectProtocol for UIColor
impl NSObjectProtocol for UIColor
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