如何使用默认的iOS图片?

问题描述 投票:0回答:6

我知道如何在 iOS 应用程序中使用图像。但我不知道如何使用开发者网站中提到的默认图像,例如共享或书签图标。

我想使用它们。我需要下载这些图像集还是 Xcode 中提供的图像?

如果我们必须下载它们,我可以在哪里获得这些图标?

ios7 icons
6个回答
104
投票

现在从 Swift 5.1 和 Xcode 11 开始,您可以使用新的 UIImage Api

UIImage(systemName: "imageName")
从 1500 多个系统图像中加载 1 个图像,这些图像基于矢量,因此不必担心不同尺寸的质量

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


19
投票

Swift 5.1,Xcode 11

这是 SF Symbols 的一个示例。苹果提供了大约 1500 个不同权重和比例的系统映像。

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 提供了 Mac 应用程序 SF Symbols 以及所有系统映像。它们都是 svg 格式,这意味着它们是可扩展的。您可以导出并编辑它们。

关注 WWDC 2019 第 206 场会议。 https://developer.apple.com/videos/play/wwdc2019/206/


16
投票

开发人员无法直接访问这些图像。我的意思是你不能像这样初始化图像对象:

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

但是您可以使用系统类型来显示某些图像。例如,您可以使用提供标准图标的系统类型来初始化

UIBarButtonItem

- (id)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem 目标:(id)目标操作:(SEL)action

其中

UIBarButtonSystemItem
提供此类类型:

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


6
投票

快速:对于系统映像,只需执行即可

imageView?.image = UIImage(systemName: "face.smiling")

快乐编码:)点赞

系统资源在这里:https://developer.apple.com/design/resources/


1
投票

对于旧版 iOS 版本:

 if #available(iOS 13.0, *) {
            cell.buttonImageIcon.image = UIImage(systemName: "info.circle.fill")
            cell.profileButton.tintColor = UIColor.white
            cell.profileButton.setTitle("PERSONAL INFORMATION", for: .normal)
        } else {
            // Fallback on earlier versions
        }

0
投票

如何使用系统名称图像(SF符号)?

 lazy var scanImg: UIImageView = {
        let img = UIImageView()
        img.image = UIImage(systemName: "sensor.tag.radiowaves.forward")
        img.tintColor = .systemBlue
        img.contentMode = .scaleAspectFit
        return img
    }()
    
© www.soinside.com 2019 - 2024. All rights reserved.