How to use default iOS images?

2020-02-24 16:34发布

问题:

I know how to use images in iOS application. But I don't know how to use default images like share or bookmark icons which are mention in developer site.

I want to use them. Do I need to download those set of images or those are available in Xcode?

If we have to download them, where I can get those icons?

回答1:

Developers haven't direct access to these images. I mean that you can't initialise image object like this:

UIImage *image = [UIImage imageNamed:@"name_of_system_image"];

But you can display some of images by using system types. For example you could init UIBarButtonItem with system types that provides standard icons:
- (id)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(id)target action:(SEL)action

Where UIBarButtonSystemItem provides such types:

UIBarButtonSystemItemDone, UIBarButtonSystemItemCancel,
UIBarButtonSystemItemEdit,
UIBarButtonSystemItemSave,
UIBarButtonSystemItemAdd,
UIBarButtonSystemItemFlexibleSpace,
UIBarButtonSystemItemFixedSpace,
UIBarButtonSystemItemCompose,
UIBarButtonSystemItemReply,
UIBarButtonSystemItemAction,
UIBarButtonSystemItemOrganize,
UIBarButtonSystemItemBookmarks,
UIBarButtonSystemItemSearch,
UIBarButtonSystemItemRefresh,
UIBarButtonSystemItemStop,
UIBarButtonSystemItemCamera,
UIBarButtonSystemItemTrash,
UIBarButtonSystemItemPlay,
UIBarButtonSystemItemPause,
UIBarButtonSystemItemRewind,
UIBarButtonSystemItemFastForward,
UIBarButtonSystemItemUndo,
UIBarButtonSystemItemRedo,
UIBarButtonSystemItemPageCurl



回答2:

Now starting from Swift 5.1 and Xcode 11 you can load 1 from over 1500 system images with the new UIImage Api UIImage(systemName: which are vector based so no worries about qualities for different sizes

https://developer.apple.com/design/resources/



回答3:

Swift 5.1, Xcode 11

Here is one example of SF Symbols..About 1500 system images are provided by apple with different weights and scales.

let homeSymbolConfiguration = UIImage.SymbolConfiguration(pointSize: 55, weight: .black)
let homeImage = UIImage(systemName: "house", withConfiguration: homeSymbolConfiguration)
let width = homeImage?.size.width
let height = homeImage?.size.height
let homeButton = UIButton(frame: CGRect(x: 100, y: 100, width: width!, height: height!))
homeButton.tintColor = UIColor.gray
homeButton.setImage(homeImage, for: .normal)
view.addSubview(homeButton)

Apple has provided a Mac app SF Symbols with all the system images. They all are in svg format means they are scalable. You can export and edit them.

Follow this WWDC 2019 Session 206. https://developer.apple.com/videos/play/wwdc2019/206/



标签: ios7 icons