首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDF格式的新选项卡图标..。创建自定义的指南?

PDF格式的新选项卡图标..。创建自定义的指南?
EN

Stack Overflow用户
提问于 2015-08-13 03:44:54
回答 3查看 6K关注 0票数 4

我注意到,在最新版本的Xcode中,“选项卡式应用程序”的项目模板创建了一个项目,其中选项卡条图标图像(默认两个可用的选项卡/视图控制器称为“第一”和“第二”)实际上以.pdf格式存储.pdf格式,而不是.png,并以"All“的分辨率显示在Assets.xcassets文件夹中,作为”通用“(而不是像应用图标那样,用作"iPhone app iOS 7-8”的解析"@3x“)。

我认为这是为了提供一个基于矢量图形的资源,它是真正独立于分辨率的,因此支持各种设备。

我的问题是:,以这种格式创建自定义资源的指南是什么?我想它应该从用创建一个自定义大纲开始,并以pdf格式导出它,但是,我应该使用什么大小和单位呢?还有什么其他的事情要注意吗?我还没有在苹果的官方文档中找到任何东西,而对"ios选项卡栏图标pdf“的网络搜索只提供指向提供剪贴画的网站的链接。

备注:我想过是在这里还是在Graphic Design Stack Exchange站点上发布这个问题,但是它仍然与Xcode IDE和开发iOS应用程序有关,所以我在这里下注。如果你不这么认为的话,你可以投票决定关闭它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-13 04:12:20

我认为这是为了提供一个基于矢量图形的资源,它是真正独立于分辨率的,因此支持各种设备。

我的理解是,Xcode实际上将这些矢量图像转换为具有适当分辨率的位图。因此,它们只在设计时是向量,在运行时是位图。

以这种格式创建自定义资源的指南是什么?我想它应该从用创建一个自定义大纲开始,并以pdf格式导出它,但是,我应该使用什么大小和单位呢?

以点为单位创建大小,大小与您想要的图标大小相同。然后导出为PDF。我注意到一些程序生成的PDF在Interface中看起来不错,但在实际的应用程序中是空白的。也许Illustrator会工作的很好,但如果不是,尝试另一个程序来转换为PDF。

票数 2
EN

Stack Overflow用户

发布于 2015-11-17 05:00:12

我理解MirekE的答案,因为我经历了挑战,现在有了解决方案。但对于其他人来说,这是一个现实世界的例子。

我创建我的所有线图标(或任何你选择的)使用草图(强烈推荐)使用一个30×30的图板,然后应用在里面的图纸。我使背景透明,然后将导出设置为1倍大小,并应用PDF格式。在这张截图里可以看到。

然后简单地导入Xcode >在Images.xcassets中创建对象>选择图像组>从下拉缩放因子中选择单个向量(在属性检查器中)>然后将导入的图像拖放到单个位置保持器中。

我已经将这种方法应用于我的所有自定义选项卡项,结果非常出色。

票数 16
EN

Stack Overflow用户

发布于 2021-02-05 16:27:35

我刚刚遇到了这个问题,我通过使用这个扩展名手动调整UIImage大小来解决这个问题:

代码语言:javascript
复制
extension UIImage {

    func aspectFit(to size: CGSize) -> UIImage? {
        let width = self.size.width
        let height = self.size.height
    
        let widthScale = size.width / width
        let heightScale = size.height / height
    
        let scaleFactor = min(widthScale, heightScale)
    
        UIGraphicsBeginImageContextWithOptions(CGSize(width: width * scaleFactor, height: height * scaleFactor), false, 0.0)
        self.draw(in: CGRect(x: 0.0, y: 0.0, width: width * scaleFactor, height: height * scaleFactor))
    
        defer {
            UIGraphicsEndImageContext()
        }
    
        return UIGraphicsGetImageFromCurrentImageContext()
      }
}

用法:

代码语言:javascript
复制
tabBarItem.image = myImage.aspectFit(to: CGSize(width: 25, height: 25))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31979160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档