UIKit Function Reference
| Framework | UIKit/UIKit.h |
| Declared in | NSText.h UIAccessibility.h UIAccessibilityZoom.h UIApplication.h UIDevice.h UIGeometry.h UIGraphics.h UIImage.h UIImagePickerController.h |
Overview
The UIKit framework defines a number of functions, many of them used in graphics and drawing operations.
Functions by Task
Application Launch
Image Manipulation
Image and Movie Saving
-
UIImageWriteToSavedPhotosAlbum -
UISaveVideoAtPathToSavedPhotosAlbum -
UIVideoAtPathIsCompatibleWithSavedPhotosAlbum
Graphics
-
UIGraphicsGetCurrentContext -
UIGraphicsPushContext -
UIGraphicsPopContext -
UIGraphicsBeginImageContext -
UIGraphicsBeginImageContextWithOptions -
UIGraphicsGetImageFromCurrentImageContext -
UIGraphicsEndImageContext -
UIRectClip -
UIRectFill -
UIRectFillUsingBlendMode -
UIRectFrame -
UIRectFrameUsingBlendMode
PDF Creation
-
UIGraphicsBeginPDFContextToData -
UIGraphicsBeginPDFContextToFile -
UIGraphicsEndPDFContext -
UIGraphicsBeginPDFPage -
UIGraphicsBeginPDFPageWithInfo -
UIGraphicsGetPDFContextBounds -
UIGraphicsAddPDFContextDestinationAtPoint -
UIGraphicsSetPDFContextDestinationForRect -
UIGraphicsSetPDFContextURLForRect
String Conversions
-
CGAffineTransformFromString -
CGPointFromString -
CGRectFromString -
CGSizeFromString -
NSStringFromCGAffineTransform -
NSStringFromCGPoint -
NSStringFromCGRect -
NSStringFromCGSize -
NSStringFromUIEdgeInsets -
NSStringFromUIOffset -
UIEdgeInsetsFromString -
UIOffsetFromString
Managing Edge Insets
Managing Offsets
Interface Orientation Macros
Device Orientation Macros
-
UIDeviceOrientationIsValidInterfaceOrientation -
UIDeviceOrientationIsPortrait -
UIDeviceOrientationIsLandscape
Interface Idiom Macro
Accessibility
-
UIAccessibilityPostNotification -
UIAccessibilityIsVoiceOverRunning -
UIAccessibilityIsClosedCaptioningEnabled -
UIAccessibilityIsGuidedAccessEnabled -
UIAccessibilityIsInvertColorsEnabled -
UIAccessibilityIsMonoAudioEnabled -
UIAccessibilityZoomFocusChanged -
UIAccessibilityRegisterGestureConflictWithZoom
Text Manipulations
Functions
CGAffineTransformFromString
Returns a Core Graphics affine transform structure corresponding to the data in a given string.
CGAffineTransform CGAffineTransformFromString ( NSString *string );
Parameters
- string
A string whose contents are of the form “{a, b, c, d, tx, ty}”, where a, b, c, d, tx, and ty are the floating-point component values of the
CGAffineTransformdata structure. An example of a valid string is @”{1,0,0,1,2.5,3.0}”. The string is not localized, so items are always separated with a comma. For information about the position of each value in the transform array, see CGAffineTransform Reference.
Return Value
A Core Graphics affine transform structure. If the string is not well-formed, the function returns the identity transform.
Discussion
In general, you should use this function only to convert strings that were previously created using the NSStringFromCGAffineTransform function.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hCGPointFromString
Returns a Core Graphics point structure corresponding to the data in a given string.
CGPoint CGPointFromString ( NSString *string );
Parameters
- string
A string whose contents are of the form “{x,y}”, where x is the x coordinate and y is the y coordinate. The x and y values can represent integer or float values. An example of a valid string is @”{3.0,2.5}”. The string is not localized, so items are always separated with a comma.
Return Value
A Core Graphics structure that represents a point. If the string is not well-formed, the function returns CGPointZero.
Discussion
In general, you should use this function only to convert strings that were previously created using the NSStringFromCGPoint function.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hCGRectFromString
Returns a Core Graphics rectangle structure corresponding to the data in a given string.
CGRect CGRectFromString ( NSString *string );
Parameters
- string
A string whose contents are of the form “{{x,y},{w, h}}”, where x is the x coordinate, y is the y coordinate, w is the width, and h is the height. These components can represent integer or float values. An example of a valid string is @”{{3,2},{4,5}}”. The string is not localized, so items are always separated with a comma.
Return Value
A Core Graphics structure that represents a rectangle. If the string is not well-formed, the function returns CGRectZero.
Discussion
In general, you should use this function only to convert strings that were previously created using the NSStringFromCGRect function.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hCGSizeFromString
Returns a Core Graphics size structure corresponding to the data in a given string.
CGSize CGSizeFromString ( NSString *string );
Parameters
- string
A string whose contents are of the form “{w, h}”, where w is the width and h is the height. The w and h values can be integer or float values. An example of a valid string is @”{3.0,2.5}”. The string is not localized, so items are always separated with a comma.
Return Value
A Core Graphics structure that represents a size. If the string is not well-formed, the function returns CGSizeZero.
Discussion
In general, you should use this function only to convert strings that were previously created using the NSStringFromCGSize function.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hNSStringFromCGAffineTransform
Returns a string formatted to contain the data from an affine transform.
NSString * NSStringFromCGAffineTransform ( CGAffineTransform transform );
Parameters
- transform
A Core Graphics affine transform structure.
Return Value
A string that corresponds to transform. See CGAffineTransformFromString for a discussion of the string format.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hNSStringFromCGPoint
Returns a string formatted to contain the data from a point.
NSString * NSStringFromCGPoint ( CGPoint point );
Parameters
- point
A Core Graphics structure representing a point.
Return Value
A string that corresponds to point. See CGPointFromString for a discussion of the string format.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hNSStringFromCGRect
Returns a string formatted to contain the data from a rectangle.
NSString * NSStringFromCGRect ( CGRect rect );
Parameters
- rect
A Core Graphics structure representing a rectangle.
Return Value
A string that corresponds to rect. See CGRectFromString for a discussion of the string format.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hNSStringFromCGSize
Returns a string formatted to contain the data from a size data structure.
NSString * NSStringFromCGSize ( CGSize size );
Parameters
- size
A Core Graphics structure representing a size.
Return Value
A string that corresponds to size. See CGSizeFromString for a discussion of the string format.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hNSStringFromUIEdgeInsets
Returns a string formatted to contain the data from an edge insets structure.
NSString * NSStringFromUIEdgeInsets ( UIEdgeInsets insets );
Parameters
- insets
A UIKit edge insets data structure.
Return Value
A string that corresponds to insets. See UIEdgeInsetsFromString for a discussion of the string format.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hNSStringFromUIOffset
Returns a string formatted to contain the data from an offset structure.
NSString *NSStringFromUIOffset( UIOffset offset );
Parameters
- offset
A UIKit offset data structure.
Return Value
A string that corresponds to offset.
Availability
- Available in iOS 5.0 and later.
See Also
Declared In
UIGeometry.hNSTextAlignmentFromCTTextAlignment
Converts a Core Text alignment constant value to the matching constant value used by UIKit.
NSTextAlignment NSTextAlignmentFromCTTextAlignment(CTTextAlignment ctTextAlignment);
Parameters
- ctTextAlignment
The Core text alignment constant you want to convert.
Return Value
The UIKit text alignment that corresponds to the value specified in ctTextAlignment.
Discussion
Use this function when you need to map between the Core Text and UIKit constants for text alignment.
Availability
- Available in iOS 6.0 and later.
Declared In
NSText.hNSTextAlignmentToCTTextAlignment
Converts a UIKit text alignment constant value to the matching constant value used by Core Text.
CTTextAlignment NSTextAlignmentToCTTextAlignment(NSTextAlignment nsTextAlignment);
Parameters
- nsTextAlignment
The UIKit text alignment constant you want to convert.
Return Value
The Core Text alignment that corresponds to the value specified in nsTextAlignment.
Discussion
Use this function when you need to map between the UIKit and Core Text constants for text alignment.
Availability
- Available in iOS 6.0 and later.
Declared In
NSText.hUIAccessibilityIsClosedCaptioningEnabled
Returns a Boolean value indicating whether closed captioning is enabled.
BOOL UIAccessibilityIsClosedCaptioningEnabled();
Return Value
YES if the user has enabled closed captioning in Settings; otherwise, NO.
Availability
- Available in iOS 5.0 and later.
Declared In
UIAccessibility.hUIAccessibilityIsGuidedAccessEnabled
Returns a Boolean value indicating whether Guided Access is enabled.
BOOL UIAccessibilityIsGuidedAccessEnabled();
Return Value
YES if the user has enabled Guided Access in Settings; otherwise, NO.
Availability
- Available in iOS 6.0 and later.
Declared In
UIAccessibility.hUIAccessibilityIsInvertColorsEnabled
Returns a Boolean value indicating whether inverted colors is enabled.
BOOL UIAccessibilityIsInvertColorsEnabled();
Return Value
YES if the user has enabled inverted colors in Settings; otherwise, NO.
Availability
- Available in iOS 6.0 and later.
Declared In
UIAccessibility.hUIAccessibilityIsMonoAudioEnabled
Returns a Boolean value indicating whether system audio is set to mono.
BOOL UIAccessibilityIsMonoAudioEnabled();
Return Value
YES if mono audio is currently enabled; otherwise, NO.
Availability
- Available in iOS 5.0 and later.
Declared In
UIAccessibility.hUIAccessibilityIsVoiceOverRunning
Returns a Boolean value indicating whether VoiceOver is running.
BOOL UIAccessibilityIsVoiceOverRunning();
Return Value
YES if VoiceOver is currently running; otherwise, NO.
Discussion
You can use this function to customize your application’s UI specifically for VoiceOver users. For example, you might want UI elements that usually disappear quickly to persist onscreen for VoiceOver users. Note that you can also listen for the UIAccessibilityVoiceOverStatusChanged notification to find out when VoiceOver starts and stops.
Availability
- Available in iOS 4.0 and later.
Declared In
UIAccessibility.hUIAccessibilityPostNotification
Posts a notification to assistive applications.
void UIAccessibilityPostNotification ( UIAccessibilityNotifications notification, id argument );
Parameters
- notification
The notification to post (see “Notifications” in UIAccessibility Protocol Reference for a list of notifications).
- argument
The argument specified by the notification. Pass
nilunless a notification specifies otherwise.
Discussion
Your application might need to post accessibility notifications if you have user interface components that change very frequently or that appear and disappear.
Availability
- Available in iOS 3.0 and later.
Declared In
UIAccessibility.hUIAccessibilityRegisterGestureConflictWithZoom
Warns users that application-specific gestures conflict with the system-defined Zoom accessibility gestures.
void UIAccessibilityRegisterGestureConflictWithZoom();
Discussion
Use this function if your application uses multi-finger gestures that conflict with the gestures used by system Zoom (that is, three-finger gestures). When this is the case, the user is presented with the choice of turning off Zoom or continuing.
Availability
- Available in iOS 5.0 and later.
Declared In
UIAccessibilityZoom.hUIAccessibilityZoomFocusChanged
Notifies the system that the app’s focus has changed to a new location.
void UIAccessibilityZoomFocusChanged( UIAccessibilityZoomType type, CGRect frame, UIView *view );
Parameters
- type
A
UIAccessibilityZoomTypeconstant that identifies the type of Zoom.- frame
The frame that is currently zoomed, in screen coordinates.
- view
The view that contains the zoomed frame.
Availability
- Available in iOS 5.0 and later.
Declared In
UIAccessibilityZoom.hUIApplicationMain
This function is called in the main entry point to create the application object and the application delegate and set up the event cycle.
int UIApplicationMain ( int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName );
Parameters
- argc
The count of arguments in argv; this usually is the corresponding parameter to
main.- argv
A variable list of arguments; this usually is the corresponding parameter to
main.- principalClassName
The name of the
UIApplicationclass or subclass. If you specifynil,UIApplicationis assumed.- delegateClassName
The name of the class from which the application delegate is instantiated. If principalClassName designates a subclass of
UIApplication, you may designate the subclass as the delegate; the subclass instance receives the application-delegate messages. Specifynilif you load the delegate object from your application’s main nib file.
Return Value
Even though an integer return type is specified, this function never returns. When users exits an iOS application by pressing the Home button, the application moves to the background.
Discussion
This function instantiates the application object from the principal class and instantiates the delegate (if any) from the given class and sets the delegate for the application. It also sets up the main event loop, including the application’s run loop, and begins processing events. If the application’s Info.plist file specifies a main nib file to be loaded, by including the NSMainNibFile key and a valid nib file name for the value, this function loads that nib file.
Despite the declared return type, this function never returns. For more information on how this function behaves, see ““Core App Objects”” in iOS App Programming Guide.
Availability
- Available in iOS 2.0 and later.
Declared In
UIApplication.hUIDeviceOrientationIsLandscape
Returns a Boolean value indicating whether the device is in a landscape orientation.
#define UIDeviceOrientationIsLandscape(orientation) \ ((orientation) == UIDeviceOrientationLandscapeLeft || \ (orientation) == UIDeviceOrientationLandscapeRight)
Parameters
- orientation
Specify the value of the
orientationproperty of theUIDeviceclass.
Return Value
Returns YES if the device orientation is landscape, otherwise returns NO.
Availability
- Available in iOS 2.0 and later.
Declared In
UIDevice.hUIDeviceOrientationIsPortrait
Returns a Boolean value indicating whether the device is in a portrait orientation.
#define UIDeviceOrientationIsPortrait(orientation) \ ((orientation) == UIDeviceOrientationPortrait || \ (orientation) == UIDeviceOrientationPortraitUpsideDown)
Parameters
- orientation
Specify the value of the
orientationproperty of theUIDeviceclass.
Return Value
Returns YES if the device orientation is portrait, otherwise returns NO.
Availability
- Available in iOS 2.0 and later.
Declared In
UIDevice.hUIDeviceOrientationIsValidInterfaceOrientation
Returns a Boolean value indicating whether the specified orientation constant is valid.
#define UIDeviceOrientationIsValidInterfaceOrientation(orientation) \ ((orientation) == UIDeviceOrientationPortrait || \ (orientation) == UIDeviceOrientationPortraitUpsideDown || \ (orientation) == UIDeviceOrientationLandscapeLeft || \ (orientation) == UIDeviceOrientationLandscapeRight)
Parameters
- orientation
Specify the orientation constant to check.
Return Value
Returns YES if the specified orientation constant is valid or NO if it is not valid.
Availability
- Available in iOS 2.0 and later.
Declared In
UIApplication.hUIEdgeInsetsEqualToEdgeInsets
Compares two edge insets to determine if they are the same.
BOOL UIEdgeInsetsEqualToEdgeInsets ( UIEdgeInsets insets1, UIEdgeInsets insets2 );
Parameters
- insets1
An edge inset to compare with insets2.
- insets2
An edge inset to compare with insets1.
Return Value
YES if the edge insets are the same; otherwise, NO.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hUIEdgeInsetsFromString
Returns a UIKit edge insets structure corresponding to the data in a given string.
UIEdgeInsets UIEdgeInsetsFromString ( NSString *string );
Parameters
- string
A string whose contents are of the form “{top, left, bottom, right}”, where top, left, bottom, right are the floating-point component values of the
UIEdgeInsetsstructure. An example of a valid string is @”{3.0,8.0,3.0,5.0}”. The string is not localized, so items are always separated with a comma.
Return Value
An edge insets data structure. If the string is not well-formed, the function returns UIEdgeInsetsZero.
Discussion
In general, you should use this function only to convert strings that were previously created using the NSStringFromUIEdgeInsets function.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hUIEdgeInsetsInsetRect
Adjusts a rectangle by the given edge insets.
CGRect UIEdgeInsetsInsetRect ( CGRect rect, UIEdgeInsets insets );
Parameters
- rect
The rectangle to be adjusted.
- insets
The edge insets to be applied to the adjustment.
Return Value
A rectangle that is adjusted by the UIEdgeInsets structure passed in insets.
Discussion
This inline function increments the origin of rect and decrements the size of rect by applying the appropriate member values of the UIEdgeInsets structure.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hUIEdgeInsetsMake
Creates an edge inset for a button or view.
UIEdgeInsets UIEdgeInsetsMake ( CGFloat top, CGFloat left, CGFloat bottom, CGFloat right );
Parameters
- top
The inset at the top of an object.
- left
The inset on the left of an object
- bottom
The inset on the bottom of an object.
- right
The inset on the right of an object.
Return Value
An inset for a button or view
Discussion
An inset is a margin around the drawing rectangle where each side (left, right, top, and bottom) can have a different value.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGeometry.hUIGraphicsAddPDFContextDestinationAtPoint
Creates a jump destination in the current page.
void UIGraphicsAddPDFContextDestinationAtPoint ( NSString *name, CGPoint point );
Parameters
- name
The name of the destination point. The name you assign is local to the PDF document and is what you use when creating links to this destination.
- point
A point on the current page of the PDF context.
Discussion
This function marks the specified point in the current page as the destination of a jump. When the user taps a link that takes them to this jump destination, the PDF document scrolls until the specified point is visible.
If the current graphics context is not a PDF context, this function does nothing.
For information on how to create links to this destination, see the UIGraphicsSetPDFContextDestinationForRect function.
Availability
- Available in iOS 3.2 and later.
Declared In
UIGraphics.hUIGraphicsBeginImageContext
Creates a bitmap-based graphics context and makes it the current context.
void UIGraphicsBeginImageContext ( CGSize size );
Parameters
- size
The size of the new bitmap context. This represents the size of the image returned by the
UIGraphicsGetImageFromCurrentImageContextfunction.
Discussion
This function is equivalent to calling the UIGraphicsBeginImageContextWithOptions function with the opaque parameter set to NO and a scale factor of 1.0.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 2.0 and later.
Declared In
UIGraphics.hUIGraphicsBeginImageContextWithOptions
Creates a bitmap-based graphics context with the specified options.
void UIGraphicsBeginImageContextWithOptions( CGSize size, BOOL opaque, CGFloat scale );
Parameters
- size
The size (measured in points) of the new bitmap context. This represents the size of the image returned by the
UIGraphicsGetImageFromCurrentImageContextfunction. To get the size of the bitmap in pixels, you must multiply the width and height values by the value in the scale parameter.- opaque
A Boolean flag indicating whether the bitmap is opaque. If you know the bitmap is fully opaque, specify
YESto ignore the alpha channel and optimize the bitmap’s storage. SpecifyingNOmeans that the bitmap must include an alpha channel to handle any partially transparent pixels.- scale
The scale factor to apply to the bitmap. If you specify a value of
0.0, the scale factor is set to the scale factor of the device’s main screen.
Discussion
You use this function to configure the drawing environment for rendering into a bitmap. The format for the bitmap is as follows:
For bitmaps created in iOS 3.2 and later, the drawing environment uses the premultiplied ARGB format to store the bitmap data. If the opaque parameter is
YES, the bitmap is treated as fully opaque and its alpha channel is ignored.For bitmaps created in iOS 3.1.x and earlier, the drawing environment uses the premultiplied RGBA format to store the bitmap data.
The environment also uses the default coordinate system for UIKit views, where the origin is in the upper-left corner and the positive axes extend down and to the right of the origin. The supplied scale factor is also applied to the coordinate system and resulting images. The drawing environment is pushed onto the graphics context stack immediately.
While the context created by this function is the current context, you can call the UIGraphicsGetImageFromCurrentImageContext function to retrieve an image object based on the current contents of the context. When you are done modifying the context, you must call the UIGraphicsEndImageContext function to clean up the bitmap drawing environment and remove the graphics context from the top of the context stack. You should not use the UIGraphicsPopContext function to remove this type of context from the stack.
In most other respects, the graphics context created by this function behaves like any other graphics context. You can change the context by pushing and popping other graphics contexts. You can also get the bitmap context using the UIGraphicsGetCurrentContext function.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 4.0 and later.
See Also
Declared In
UIGraphics.hUIGraphicsBeginPDFContextToData
Creates a PDF-based graphics context that targets the specified mutable data object.
void UIGraphicsBeginPDFContextToData ( NSMutableData *data, CGRect bounds, NSDictionary *documentInfo );
Parameters
- data
The data object to receive the PDF output data.
- bounds
A rectangle that specifies the default size and location of PDF pages. (This value is used as the default media box for each new page.) The origin of the rectangle should typically be (0, 0). Specifying an empty rectangle (
CGRectZero) sets the default page size to 8.5 by 11 inches (612 by 792 points).- documentInfo
A dictionary that specifies additional information to be associated with the PDF file. You can use these keys to specify additional metadata and security information for the PDF, such as the author of the PDF or the password for accessing it. The keys in this dictionary are the same keys you pass to the
CGPDFContextCreatefunction and are described in the Auxiliary Dictionary Keys section of CGPDFContext Reference. The dictionary is retained by the new context, so on return you may safely release it.Specify
nilif you do not want to associate any additional information with the PDF document.
Discussion
After creating the graphics context, this function makes it the current drawing context. Any subsequent drawing commands are therefore captured and turned into PDF data. When you are done drawing, you must call the UIGraphicsEndPDFContext function to close the PDF graphics context.
You can use all of the same drawing routines that you would normally use to draw the contents of your application. The graphics context converts all drawing commands into PDF drawing commands automatically. However, before you issue any drawing commands to a PDF context, you must start a new page by calling the UIGraphicsBeginPDFPage or UIGraphicsBeginPDFPageWithInfo function. You can also use these functions to define additional pages later.
After creating it, you can get the PDF context using the UIGraphicsGetCurrentContext function.
Availability
- Available in iOS 3.2 and later.
See Also
Declared In
UIGraphics.hUIGraphicsBeginPDFContextToFile
Creates a PDF-based graphics context that targets a file at the specified path.
BOOL UIGraphicsBeginPDFContextToFile ( NSString *path, CGRect bounds, NSDictionary *documentInfo );
Parameters
- path
A POSIX-style path string identifying the location of the resulting PDF file. The specified path may be relative or a full path name. If a file does not exist at the specified path, one is created; otherwise, the contents of any existing file are deleted. The directories in the path must exist.
- bounds
A rectangle that specifies the default size and location of PDF pages. (This value is used as the default media box for each new page.) The origin of the rectangle should typically be (0, 0). Specifying an empty rectangle (
CGRectZero) sets the default page size to 8.5 by 11 inches (612 by 792 points).- documentInfo
A dictionary that specifies additional information to be associated with the PDF file. You can use these keys to specify additional metadata and security information for the PDF, such as the author of the PDF or the password for accessing it. The keys in this dictionary are the same keys you pass to the
CGPDFContextCreatefunction and are described in the Auxiliary Dictionary Keys section of CGPDFContext Reference. The dictionary is retained by the new context, so on return you may safely release it.Specify
nilif you do not want to associate any additional information with the PDF document.
Return Value
YES if the PDF context was created successfully or NO if it was not.
Discussion
After creating the graphics context, this function makes it the current drawing context. Any subsequent drawing commands are therefore captured and turned into PDF data. When you are done drawing, you must call the UIGraphicsEndPDFContext function to close the PDF graphics context.
You can use all of the same drawing routines that you would normally use to draw the contents of your application. However, before you issue any drawing commands to a PDF context, you must start a new page by calling the UIGraphicsBeginPDFPage or UIGraphicsBeginPDFPageWithInfo function. You can also use these functions to define additional pages later.
After creating it, you can get the PDF context using the UIGraphicsGetCurrentContext function.
Availability
- Available in iOS 3.2 and later.
Declared In
UIGraphics.hUIGraphicsBeginPDFPage
Marks the beginning of a new page in a PDF context and configures it using default values.
void UIGraphicsBeginPDFPage ( void );
Discussion
This function ends any previous page before beginning a new one. It sets the media box of the new page to the rectangle you specified when you created the PDF context.
If the current graphics context is not a PDF context, this function does nothing.
You must call this function or the UIGraphicsBeginPDFPageWithInfo function before you issue any drawing commands.
Availability
- Available in iOS 3.2 and later.
Declared In
UIGraphics.hUIGraphicsBeginPDFPageWithInfo
Marks the beginning of a new page in a PDF context and configures it using the specified values.
void UIGraphicsBeginPDFPageWithInfo ( CGRect bounds, NSDictionary *pageInfo );
Parameters
- bounds
A rectangle that specifies the size and location of the new PDF page. This rectangle corresponds to the media box rectangle for the page.
- pageInfo
A dictionary that specifies additional page-related information, such as the boxes that define different parts of the page. For a list of keys you can include in this dictionary, see Box Dictionary Keys in CGPDFContext Reference. The dictionary is retained by the new page, so you may release it after this function returns.
Specify
nilif you do not want to associate any additional information with the page.
Discussion
This function ends any previous page before beginning a new one. It sets the media box of the new page to the value in the kCGPDFContextMediaBox key of the pageInfo dictionary, or to the value in the bounds parameter if the dictionary does not contain the key.
If the current graphics context is not a PDF context, this function does nothing.
You must call this function or the UIGraphicsBeginPDFPageWithInfo function before you issue any drawing commands.
Availability
- Available in iOS 3.2 and later.
Declared In
UIGraphics.hUIGraphicsEndImageContext
Removes the current bitmap-based graphics context from the top of the stack.
void UIGraphicsEndImageContext ( void );
Discussion
You use this function to clean up the drawing environment put in place by the UIGraphicsBeginImageContext function and to remove the corresponding bitmap-based graphics context from the top of the stack. If the current context was not created using the UIGraphicsBeginImageContext function, this function does nothing.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGraphics.hUIGraphicsEndPDFContext
Closes a PDF graphics context and pops it from the current context stack.
void UIGraphicsEndPDFContext ( void );
Discussion
You must call this function after you finish drawing to a PDF graphics context. This function closes the current open page and removes the PDF context from the graphics context stack. It also releases the CGContextRef associated with the PDF context. If the current graphics context is not a PDF context, this function does nothing.
Availability
- Available in iOS 3.2 and later.
Declared In
UIGraphics.hUIGraphicsGetCurrentContext
Returns the current graphics context.
CGContextRef UIGraphicsGetCurrentContext ( void );
Return Value
The current graphics context.
Discussion
The current graphics context is nil by default. Prior to calling its drawRect: method, view objects push a valid context onto the stack, making it current. If you are not using a UIView object to do your drawing, however, you must push a valid context onto the stack manually using the UIGraphicsPushContext function.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 2.0 and later.
Declared In
UIGraphics.hUIGraphicsGetImageFromCurrentImageContext
Returns an image based on the contents of the current bitmap-based graphics context.
UIImage * UIGraphicsGetImageFromCurrentImageContext ( void );
Return Value
A image object containing the contents of the current bitmap graphics context.
Discussion
You should call this function only when a bitmap-based graphics context is the current graphics context. If the current context is nil or was not created by a call to UIGraphicsBeginImageContext, this function returns nil.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGraphics.hUIGraphicsGetPDFContextBounds
Returns the current page bounds.
CGRect UIGraphicsGetPDFContextBounds ( void );
Return Value
The current page bounds associated with the PDF context or CGRectZero if the current context is not a PDF context.
Discussion
If a page has not yet been started, this function returns the default media box you specified when you created the PDF context; otherwise, it returns the page bounds for the current page.
Availability
- Available in iOS 3.2 and later.
Declared In
UIGraphics.hUIGraphicsPopContext
Removes the current graphics context from the top of the stack, restoring the previous context.
void UIGraphicsPopContext ( void );
Discussion
Use this function to balance calls to the UIGraphicsPushContext function.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGraphics.hUIGraphicsPushContext
Makes the specified graphics context the current context.
void UIGraphicsPushContext ( CGContextRef context );
Parameters
- context
The graphics context to make the current context.
Discussion
You can use this function to save the previous graphics state and make the specified context the current context. You must balance calls to this function with matching calls to the UIGraphicsPopContext function.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIGraphics.hUIGraphicsSetPDFContextDestinationForRect
Links a rectangle on the current page to the specified jump destination.
void UIGraphicsSetPDFContextDestinationForRect ( NSString *name, CGRect rect );
Parameters
- name
A named destination in the PDF document. This is the same name you used when creating the jump destination using the
UIGraphicsAddPDFContextDestinationAtPointfunction.- rect
A rectangle on the current page of the PDF context.
Discussion
You use this function to create live links within a PDF document. Tapping the specified rectangle in the PDF document causes the document to display the contents at the associated jump destination.
If the current graphics context is not a PDF context, this function does nothing.
Availability
- Available in iOS 3.2 and later.
Declared In
UIGraphics.hUIGraphicsSetPDFContextURLForRect
Links a rectangle on the current page to the specified URL.
void UIGraphicsSetPDFContextURLForRect ( NSURL *url, CGRect rect );
Parameters
- url
The URL to open.
- rect
A rectangle on the current page of the PDF context.
Discussion
You use this function to create external links within a PDF document. If the URL you specify is a type handled by a different application, tapping the rectangle opens that application.
If the current graphics context is not a PDF context, this function does nothing.
Availability
- Available in iOS 3.2 and later.
Declared In
UIGraphics.hUIImageJPEGRepresentation
Returns the data for the specified image in JPEG format.
NSData * UIImageJPEGRepresentation ( UIImage *image, CGFloat compressionQuality );
Parameters
- image
The original image data.
- compressionQuality
The quality of the resulting JPEG image, expressed as a value from 0.0 to 1.0. The value 0.0 represents the maximum compression (or lowest quality) while the value 1.0 represents the least compression (or best quality).
Return Value
A data object containing the JPEG data, or nil if there was a problem generating the data. This function may return nil if the image has no data or if the underlying CGImageRef contains data in an unsupported bitmap format.
Discussion
If the image object’s underlying image data has been purged, calling this function forces that data to be reloaded into memory.
Availability
- Available in iOS 2.0 and later.
Declared In
UIImage.hUIImagePNGRepresentation
Returns the data for the specified image in PNG format
NSData * UIImagePNGRepresentation ( UIImage *image );
Parameters
- image
The original image data.
Return Value
A data object containing the PNG data, or nil if there was a problem generating the data. This function may return nil if the image has no data or if the underlying CGImageRef contains data in an unsupported bitmap format.
Discussion
If the image object’s underlying image data has been purged, calling this function forces that data to be reloaded into memory.
Availability
- Available in iOS 2.0 and later.
Declared In
UIImage.hUIImageWriteToSavedPhotosAlbum
Adds the specified image to the user’s Camera Roll album.
void UIImageWriteToSavedPhotosAlbum ( UIImage *image, id completionTarget, SEL completionSelector, void *contextInfo );
Parameters
- image
The image to write to the Camera Roll album.
- completionTarget
Optionally, the object whose selector should be called after the image has been written to the Camera Roll album.
- completionSelector
The method selector, of the completionTarget object, to call. This optional method should conform to the following signature:
- (void) image: (UIImage *) image
didFinishSavingWithError: (NSError *) error
contextInfo: (void *) contextInfo;
- contextInfo
An optional pointer to any context-specific data that you want passed to the completion selector.
Discussion
When used with an image picker controller, you would typically call this function within your imagePickerController:didFinishPickingMediaWithInfo: delegate method implementation.
The use of the completionTarget, completionSelector, and contextInfo parameters is optional and necessary only if you want to be notified asynchronously when the function finishes writing the image to the user’s Camera Roll or Saved Photos album. If you do not want to be notified, pass nil for these parameters.
When used on an iOS device without a camera, this method adds the image to the Saved Photos album rather than to the Camera Roll album.
Availability
- Available in iOS 2.0 and later.
See Also
Declared In
UIImagePickerController.hUIInterfaceOrientationIsLandscape
Returns a Boolean value indicating whether the user interface is currently presented in a landscape orientation.
#define UIInterfaceOrientationIsLandscape(orientation) \ ((orientation) == UIInterfaceOrientationLandscapeLeft || \ (orientation) == UIInterfaceOrientationLandscapeRight)
Parameters
- orientation
Specify the orientation constant to check.
Return Value
Returns YES if the interface orientation is landscape, otherwise returns NO.
Discussion
The interface orientation can be different than the device orientation. You typically use this macro in your view controller code to check the current orientation.
Availability
- Available in iOS 2.0 and later.
Declared In
UIApplication.hUIInterfaceOrientationIsPortrait
Returns a Boolean value indicating whether the user interface is currently presented in a portrait orientation.
#define UIInterfaceOrientationIsPortrait(orientation) \ ((orientation) == UIInterfaceOrientationPortrait || \ (orientation) == UIInterfaceOrientationPortraitUpsideDown)
Parameters
- orientation
Specify the orientation constant to check.
Return Value
Returns YES if the interface orientation is portrait, otherwise returns NO.
Discussion
The interface orientation can be different than the device orientation. You typically use this macro in your view controller code to check the current orientation.
Availability
- Available in iOS 2.0 and later.
Declared In
UIApplication.hUIOffsetEqualToOffset
Returns a Boolean value that indicates whether two offsets are equal.
BOOL UIOffsetEqualToOffset(UIOffset offset1, UIOffset offset2) {
return offset1.horizontal == offset2.horizontal &&
offset1.vertical == offset2.vertical;
}
Parameters
- offset1
The offset to compare with offset2.
- offset2
The offset to compare with offset1.
Return Value
YES if offset1 and offset2 are equal, otherwise NO.
Availability
- Available in iOS 5.0 and later.
Declared In
UIGeometry.hUIOffsetFromString
Returns a UIKit offset structure corresponding to the data in a given string.
UIOffset UIOffsetFromString( NSString *string );
Parameters
- string
A string containing a representation of an offset.
Return Value
An edge insets data structure. If the string is not well-formed, the function returns UIOffsetZero.
Discussion
In general, you should use this function only to convert strings that were previously created using the NSStringFromUIOffset function.
Availability
- Available in iOS 5.0 and later.
Declared In
UIGeometry.hUIOffsetMake
Returns an offset structure from the given components.
UIOffset UIOffsetMake(CGFloat horizontal, CGFloat vertical) {
UIOffset offset = {horizontal, vertical};
return offset;
}
Parameters
- horizontal
The horizontal offset.
- vertical
The vertical offset.
Return Value
An offset structure with offsets horizontal and vertical.
Availability
- Available in iOS 5.0 and later.
Declared In
UIGeometry.hUIRectClip
Modifies the current clipping path by intersecting it with the specified rectangle.
void UIRectClip ( CGRect rect );
Parameters
- rect
The rectangle to intersect with the clipping region. If the width or height of the rectangle are less than 0, this function does not change the clipping path.
Discussion
Each call to this function permanently shrinks the clipping path of the current graphics context using the specified rectangle. You cannot use this function to expand the clipping region path. If the current graphics context is nil, this function does nothing.
If you need to return the clipping path to its original shape in your drawing code, you should save the current graphics context before calling this function. To save the current state of the graphics context, call the CGContextSaveGState function before making your modifications. When you are ready to restore the original clipping region, you can then use the CGContextRestoreGState function to restore the previous graphics state.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 2.0 and later.
Declared In
UIGraphics.hUIRectFill
Fills the specified rectangle with the current color.
void UIRectFill ( CGRect rect );
Parameters
- rect
The rectangle defining the area in which to draw.
Discussion
Fills the specified rectangle using the fill color of the current graphics context and the kCGBlendModeCopy blend mode.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 2.0 and later.
Declared In
UIGraphics.hUIRectFillUsingBlendMode
Fills a rectangle with the current fill color using the specified blend mode.
void UIRectFillUsingBlendMode ( CGRect rect, CGBlendMode blendMode );
Parameters
- rect
The rectangle defining the area in which to draw.
- blendMode
The blend mode to use during drawing.
Discussion
This function draws the rectangle in the current graphics context. If the current graphics context is nil, this function does nothing.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 2.0 and later.
Declared In
UIGraphics.hUIRectFrame
Draws a frame around the inside of the specified rectangle.
void UIRectFrame ( CGRect rect );
Parameters
- rect
The rectangle defining the area in which to draw.
Discussion
This function draws a frame around the inside of rect in the fill color of the current graphics context and using the kCGBlendModeCopy blend mode. The width is equal to 1.0 in the current coordinate system. Since the frame is drawn inside the rectangle, it is visible even if drawing is clipped to the rectangle. If the current graphics context is nil, this function does nothing.
Because this function does not draw directly on the line, but rather inside it, it uses the current fill color (not stroke color) when drawing.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 2.0 and later.
Declared In
UIGraphics.hUIRectFrameUsingBlendMode
Draws a frame around the inside of a rectangle using the specified blend mode.
void UIRectFrameUsingBlendMode ( CGRect rect, CGBlendMode blendMode );
Parameters
- rect
The rectangle defining the area in which to draw.
- blendMode
The blend mode to use during drawing.
Discussion
This function draws a frame around the inside of rect in the fill color of the current graphics context and using the specified blend mode. The width is equal to 1.0 in the current coordinate system. Since the frame is drawn inside the rectangle, it is visible even if drawing is clipped to the rectangle. If the current graphics context is nil, this function does nothing.
Because this function does not draw directly on the line, but rather inside it, it uses the current fill color (not stroke color) when drawing.
In iOS 4 and later, you may call this function from any thread of your app.
Availability
- Available in iOS 2.0 and later.
Declared In
UIGraphics.hUISaveVideoAtPathToSavedPhotosAlbum
Adds the movie at the specified path to the user’s Camera Roll album.
void UISaveVideoAtPathToSavedPhotosAlbum ( NSString *videoPath, id completionTarget, SEL completionSelector, void *contextInfo );
Parameters
- videoPath
The filesystem path to the movie file you want to save to the Camera Roll album.
- completionTarget
Optionally, the object whose selector should be called after the movie has been written to the Camera Roll album.
- completionSelector
The method selector, of the completionTarget object, to call. This optional method should conform to the following signature:
- (void) video: (NSString *) videoPath
didFinishSavingWithError: (NSError *) error
contextInfo: (void *) contextInfo;
- contextInfo
An optional pointer to any context-specific data that you want passed to the completion selector.
Discussion
When used with an image picker controller, you would typically call this function within your imagePickerController:didFinishPickingMediaWithInfo: delegate method implementation.
Before calling this function, call the UIVideoAtPathIsCompatibleWithSavedPhotosAlbum function to determine if it is possible to save movies to the Camera Roll album. For a code example, refer to Camera Programming Topics for iOS.
The use of the completionTarget, completionSelector, and contextInfo parameters is optional and necessary only if you want to be notified asynchronously when the function finishes writing the movie to the user’s Camera Roll or Saved Photos album. If you do not want to be notified, pass nil for these parameters.
When used on an iOS device without a camera, this method adds the movie to the Saved Photos album rather than to the Camera Roll album.
Availability
- Available in iOS 3.1 and later.
Declared In
UIImagePickerController.hUIVideoAtPathIsCompatibleWithSavedPhotosAlbum
Returns a Boolean value indicating whether the specified video can be saved to user’s Camera Roll album.
BOOL UIVideoAtPathIsCompatibleWithSavedPhotosAlbum ( NSString *videoPath );
Parameters
- videoPath
The filesystem path to the movie file you want to save.
Return Value
YES if the video can be saved to the Camera Roll album or NO if it cannot.
Discussion
Not all devices are able to play video files placed in the user’s Camera Roll album. Before attempting to save a video, call this function and check its return value to ensure that saving the video is supported for the current device. For a code example, refer to Camera Programming Topics for iOS.
When used on an iOS device without a camera, this method indicates whether the specified movie can be saved to the Saved Photos album rather than to the Camera Roll album.
Availability
- Available in iOS 3.1 and later.
See Also
Declared In
UIImagePickerController.hUI_USER_INTERFACE_IDIOM
Returns the interface idiom supported by the current device.
#define UI_USER_INTERFACE_IDIOM() \ ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] ? \ [[UIDevice currentDevice] userInterfaceIdiom] : \ UIUserInterfaceIdiomPhone)
Return Value
UIUserInterfaceIdiomPhone if the device is an iPhone or iPod touch or UIUserInterfaceIdiomPad if the device is an iPad.
Availability
- Available in iOS 3.2 and later.
Declared In
UIDevice.h© 2012 Apple Inc. All Rights Reserved. (Last updated: 2012-09-19)