- SwiftUI 教程
- SwiftUI - 首頁
- SwiftUI - 概述
- SwiftUI vs UIKit
- SwiftUI 環境
- SwiftUI - 環境設定
- SwiftUI - 基本元件
- SwiftUI - 構建第一個應用程式
- SwiftUI 檢視
- SwiftUI - 檢視
- SwiftUI - 自定義文字檢視
- SwiftUI - 自定義影像檢視
- SwiftUI - 堆疊
- SwiftUI 繪製形狀
- SwiftUI - 形狀
- SwiftUI - 繪製線條
- SwiftUI - 繪製矩形
- SwiftUI - 繪製圓角矩形
- SwiftUI - 繪製三角形
- SwiftUI - 繪製圓形
- SwiftUI - 繪製星形
- SwiftUI - 繪製多邊形
- SwiftUI - 繪製餅圖
- SwiftUI - 使用內建形狀
- SwiftUI - 文字
- SwiftUI - 文字檢視
- SwiftUI - 文字輸入和輸出
- SwiftUI - 顏色
- SwiftUI - 顏色
- SwiftUI - 顏色選擇器
- SwiftUI - 漸變
- SwiftUI - 調整顏色
- SwiftUI - 效果
- SwiftUI - 效果
- SwiftUI - 混合效果
- SwiftUI - 模糊效果
- SwiftUI - 陰影效果
- SwiftUI - 懸停效果
- SwiftUI - 動畫
- SwiftUI - 動畫
- SwiftUI - 建立動畫
- SwiftUI - 建立顯式動畫
- SwiftUI - 多個動畫
- SwiftUI - 轉場
- SwiftUI - 非對稱轉場
- SwiftUI - 自定義轉場
- SwiftUI - 圖片
- SwiftUI - 影像
- SwiftUI - 圖片作為背景
- SwiftUI - 旋轉影像
- SwiftUI - 媒體
- SwiftUI - 檢視佈局
- SwiftUI - 檢視佈局
- SwiftUI - 檢視大小
- SwiftUI - 檢視間距
- SwiftUI - 檢視填充
- SwiftUI - 列表和表格
- SwiftUI - 列表
- SwiftUI - 靜態列表
- SwiftUI - 動態列表
- SwiftUI - 自定義列表
- SwiftUI - 表格
- SwiftUI - 表單
- SwiftUI - 表單
- SwiftUI - 將表單分解成多個部分
- SwiftUI 有用資源
- SwiftUI - 有用資源
- SwiftUI - 討論
SwiftUI - 繪製三角形
三角形是一個三邊形。它有三條邊、三個角和三個頂點。它也用於UI(使用者介面)設計中,以建立自定義圖示、裝飾元素、箭頭和指標、進度指示器、蒙版和剪裁等。因此,在本章中,我們將學習如何在SwiftUI中建立三角形。
在SwiftUI中繪製三角形
SwiftUI不像矩形和圓形那樣提供內建的三角形形狀,但我們仍然可以透過簡單地使用Path結構或使用Shape協議來繪製自定義三角形。
這兩種方法都可以繪製滿足應用程式需求的三角形設計。現在我們將學習如何逐步使用這兩種方法建立三角形形狀。
使用Path結構在SwiftUI中繪製三角形的步驟
按照以下步驟使用SwiftUI中的Path結構繪製三角形:
步驟1:初始化Path
首先初始化Path,並在閉包中提供詳細說明。這將幫助我們透過連線一系列點和線來建立一個三角形。
Path() {}
步驟2:移動到指定的座標
現在我們使用move(to:)方法移動到三角形將開始繪製的原點。
Path(){
xPath in
xPath.move(to: CGPoint(x: 250, y: 100))
}
步驟3:繪製三角形
如果我們使用.fill()和.closeSubpath()方法,我們現在將呼叫addLine(to:)方法兩次,因為它們會自動將當前點連線到原點。否則,我們將呼叫addLine(to:)方法三次,以繪製三角形形狀中的三條連線線。
Path(){
xPath in
xPath.move(to: CGPoint(x: 250, y: 100))
xPath.addLine(to: CGPoint(x: 350, y: 250))
xPath.addLine(to: CGPoint(x: 150, y: 250))
}
步驟4:填充顏色
預設情況下,三角形以黑色建立,因此使用.fill修飾符,我們可以根據自己的選擇更改三角形的顏色。
Path(){
xPath in
xPath.move(to: CGPoint(x: 250, y: 100))
xPath.addLine(to: CGPoint(x: 350, y: 250))
xPath.addLine(to: CGPoint(x: 150, y: 250))
}.fill(Color.teal)
示例1
以下SwiftUI程式用於使用Path結構繪製三角形。
import SwiftUI
struct ContentView: View {
var body: some View {
Path(){
xPath in
xPath.move(to: CGPoint(x: 250, y: 100))
xPath.addLine(to: CGPoint(x: 350, y: 250))
xPath.addLine(to: CGPoint(x: 150, y: 250))
}.fill(Color.teal)
}
}
#Preview {
ContentView()
}
輸出
示例2
以下SwiftUI程式用於自定義三角形。
import SwiftUI
struct ContentView: View {
var body: some View {
Path { xPath in
xPath.move(to: CGPoint(x: 300, y: 100))
xPath.addLine(to: CGPoint(x: 350, y: 300))
xPath.addLine(to: CGPoint(x: 150, y: 300))
xPath.closeSubpath()
}.stroke(Color.yellow, lineWidth: 4)
.shadow(radius: 10)
}
}
#Preview {
ContentView()
}
輸出
使用Shape協議在SwiftUI中繪製三角形的步驟
按照以下步驟使用SwiftUI中的Shape協議繪製三角形:
步驟1 - 定義自定義形狀
要繪製自定義三角形形狀,我們需要建立一個符合Shape協議的結構體。在這個結構體中,我們將定義如何建立三角形形狀和path(in:)方法。
struct Triangle : Shape{}
步驟2:建立檢視
現在我們在SwiftUI檢視中使用自定義三角形。它將顯示自定義三角形的樣式。
func path(
in rect: CGRect) -> Path {
var xpath = Path()
xpath.move(to: CGPoint(x: rect.minX, y: rect.maxY))
xpath.addLine(to: CGPoint(x: rect.midX, y: rect.minY))
xpath.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY))
xpath.addLine(to: CGPoint(x: rect.minX, y: rect.maxY))
return xpath
}
步驟3:新增其他自定義
我們還可以使用各種修飾符(如stroke、fill、shadow、overlay文字等)來自定義三角形形狀。
Triangle() .fill(Color.yellow) .frame(width: 300, height: 400, alignment: .center)
示例
以下SwiftUI程式用於使用Shape協議建立自定義三角形。
import SwiftUI
struct Triangle : Shape{
func path(in rect: CGRect) -> Path {
var xpath = Path()
xpath.move(to: CGPoint(x: rect.minX, y: rect.maxY))
xpath.addLine(to: CGPoint(x: rect.midX, y: rect.minY))
xpath.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY))
xpath.addLine(to: CGPoint(x: rect.minX, y: rect.maxY))
return xpath
}
}
struct ContentView: View {
var body: some View {
Triangle()
.fill(Color.yellow)
.frame(width: 300, height: 400, alignment: .center)
}
}
#Preview {
ContentView()
}
輸出