SwiftUI 官方教程(四)

摘要:
官方SwiftUI教程(IV)4.自定义ImageView以完成名称和位置视图后,让我们为地标添加图片。SwiftUI官方教程4.1在项目Png的Resources文件夹中找到turnerock,将其拖到资产目录的编辑器中。接下来,创建一个新的SwiftUIview以自定义图像视图。在用户界面中,选择SwiftUIView,然后单击Next。将文件命名为CircleImage。swift,然后单击“创建”。现在准备工作已经完成。SwiftUI教程4.3使用Image(_:)初始化方法将文本视图替换为TurtleRock的图片。圆形图像。swiftimportSwiftUIstructCircleImage:View{varbody:someView{Image}}structCircle Image_ Preview:PreviewProvider{static varpreviews:someView{CircleImage()}}4.4调用clipShape将图像裁剪为圆形。SwiftUI教程圆形可以用作遮罩形状,也可以通过笔划或填充形成视图。
SwiftUI 官方教程(四)

4. 自定义 Image View

搞定名称和位置 view 后,我们来给地标添加图片。

这不需要添加很多代码,只需要创建一个自定义 view,然后给图片加上遮罩、边框和阴影即可。

SwiftUI 官方教程(四)第1张

首先将图片添加到项目的 asset catalog 中。

SwiftUI 官方教程

4.1 在项目的 Resources 文件夹中找到 turtlerock.png ,将它拖到 asset catalog 的编辑器中。 Xcode 会给图片创建一个 image set 。

SwiftUI 官方教程(四)第2张

接下来,创建一个新的 SwiftUI view 来自定义 image view。

4.2 选择 File > New > File 打开模板选择器。在 User Interface 中,选中 SwiftUI View ,然后单击 Next 。将文件命名为 CircleImage.swift ,然后单击 Create 。

SwiftUI 官方教程(四)第3张

现在准备工作已完成。

SwiftUI教程

SwiftUI 官方教程(四)第4张

4.3 使用 Image(_:) 初始化方法将 text view 替换为 Turtle Rock 的图片。

CircleImage.swift

import SwiftUI

struct CircleImage: View {
    var body: some View {
        Image("turtlerock")
    }
}

struct CircleImage_Preview: PreviewProvider {
    static var previews: some View {
        CircleImage()
    }
}

SwiftUI 官方教程(四)第5张

4.4 调用 .clipShape(Circle()) ,将图像裁剪成圆形。

SwiftUI教程

Circle 可以当做一个蒙版的形状,也可以通过 stroke 或 fill 形成 view。

CircleImage.swift

import SwiftUI

struct CircleImage: View {
    var body: some View {
        Image("turtlerock")
            .clipShape(Circle())
    }
}

struct CircleImage_Preview: PreviewProvider {
    static var previews: some View {
        CircleImage()
    }
}

SwiftUI 官方教程(四)第6张

4.5 创建另一个 gray stroke 的 circle ,然后将其作为 overlay 添加到图片上,形成图片的边框。

CircleImage.swift

import SwiftUI

struct CircleImage: View {
    var body: some View {
        Image("turtlerock")
            .clipShape(Circle())
            .overlay(
                Circle().stroke(Color.gray, lineWidth: 4))
    }
}

struct CircleImage_Preview: PreviewProvider {
    static var previews: some View {
        CircleImage()
    }
}

SwiftUI 官方教程(四)第7张

4.6 接来下,添加一个半径为 10 point 的阴影。

CircleImage.swift

import SwiftUI

struct CircleImage: View {
    var body: some View {
        Image("turtlerock")
            .clipShape(Circle())
            .overlay(
                Circle().stroke(Color.gray, lineWidth: 4))
            .shadow(radius: 10)
    }
}

struct CircleImage_Preview: PreviewProvider {
    static var previews: some View {
        CircleImage()
    }
}

SwiftUI 官方教程(四)第8张

4.7 将边框的颜色改为 white ,完成 image viewSwiftUI教程

CircleImage.swift

import SwiftUI

struct CircleImage: View {
    var body: some View {
        Image("turtlerock")
            .clipShape(Circle())
            .overlay(
                Circle().stroke(Color.white, lineWidth: 4))
            .shadow(radius: 10)
    }
}

struct CircleImage_Preview: PreviewProvider {
    static var previews: some View {
        CircleImage()
    }
}

SwiftUI 官方教程(四)第9张

SwiftUI 官方教程(四)第10张

SwiftUI教程(三)

SwiftUI教程(五)

 

免责声明:文章转载自《SwiftUI 官方教程(四)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇nginx配置热更新Redhat7.4安装oracle11.2.0.4版本数据库遇见的问题_oracle下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Confluence 6 教程:空间高手

这个教程将会带你如何在 Confluence 中创建和自定义空间,同时也包括如何删除空间,如果需要的话。通过这个教程,你将成为使用空间的高手。 你需要具有创建空间(Create space)和创建个人空间(Create personal space)的权限才能进行下面的操作。如果你是新设置好了的 Confluence ,你应该不会有权限方面的问题。如果...

最强大的王爽汇编语言学习环境使用教程

最强大的王爽汇编语言学习环境使用教程 一、前言 这是采用VMwere Workstation 12 pro虚拟机软件,搭建的MS-DOS学习环境,在windowsXP/8/10及linux中均可以使用,在这个环境中,我集成了CCDOS中文系统,pdos中文系统,使用这些系统,可以进行中文输入与显示。还集成了,十分著名的汇编语言调试工具TR,它比debug更...

MapGIS6.7安装图文教程(完美破解)

mapgis安装比较简单,主要注意在安装的时候,先打开软件狗,然后再进行软件安装,一般就不会照成其他安装失败的现象,有时候安装之前没有打开软件狗也安装成功了,也有这情况,不过软件使用也需要软件狗的支持!MapGIS6.7安装图文教程(完美破解)工具/原料 MapGIS6.7安装包和软件狗 电脑(现在的电脑配置都可以安装) 方法/步骤 1 打开软件狗...

EcShop二次开发系列教程–总纲

      EcShop作为老牌的B2C独立网店系统,功能非常全名,强大的文件、数据库缓存机制,保证前后台系统执行速度更快、系统平稳运行。但是过多的功能也或多或少的会影响到系统的整个效率,所有在使用EcShop搭建自己的独立网店的是时候根据自己的实际需求去掉不必要的功能是非常要必要的,另外还要添加一些适合自己的功能。     虽然网上已经有很多的EcSho...

PyQt5中文手册

PyQt5-Chinese-tutorial PyQt5中文教程,翻译自 zetcode,项目地址:https://github.com/maicss/PyQt5-Chinese-tutoral 这个教程比较好的地方是,能讲解每一段代码的含义。 虽然PyQt的函数命名已经非常语义化了,但是对于新手来说,有这一步还是更好的。 所以我选择了翻译这篇教程,希望能...

怎么彻底关闭flash助手弹窗?

日常使用中,flash助手弹窗不胜其扰,天天推荐游戏,早看它不顺眼了,那么怎么彻底关闭flash助手弹窗呢?我认真分析了下,做了个教程 1.打开任务管理器,并打开服务  右键->属性->禁用->应用 经过这些操作,就可以彻底禁掉flash助手频繁弹窗,打扰正常工作了. 喜欢的点个赞或者评论下,搞定收工!...