SwiftUI 中自定义 modifier

简介: 在 Swift UI 中,自定义 Modifier 是一种强大的方式,可以让你轻松地封装和重用视图的样式和行为。在本文中,我们将探讨如何使用自定义 Modifier ,以便在应用程序中保持一致的外观和风格。

SwiftUI 中自定义 modifier

在 Swift UI 中,自定义 Modifier 是一种强大的方式,可以让你轻松地封装和重用视图的样式和行为。在本文中,我们将探讨如何使用自定义 Modifier ,以便在应用程序中保持一致的外观和风格。

import SwiftUI

// 自定义 modifier

struct Tittle: ViewModifier {
    
   func body(content: Content) -> some View {
    
       content
           .font(.largeTitle)
           .foregroundColor(Color.white)
           .padding()
           .background(Color.blue)
           .clipShape(RoundedRectangle(cornerRadius: 10))
   }
}

extension View {
    
   func tittleStyle() -> some View {
    
       modifier(Tittle());
   }

   func waterMark(with text: String) -> some View {
    
       modifier(WaterMark(text: text))
   }
}

struct WaterMark : ViewModifier {
    
   var text : String;
   func body(content : Content) -> some View {
    
       ZStack(alignment: .bottomTrailing){
    
           content
           Text(text)
               .foregroundColor(Color.gray)
               .padding()
               .background(Color.black)

       }
   }
}



struct ModifierUIView: View {
    
   var body: some View {
    
//        Text("Hello, World!")
//            .tittleStyle();
       Color.blue
           .frame(width: 300, height: 300)
           .waterMark(with: "starzyn")
   }
}

struct ModifierUIView_Previews: PreviewProvider {
    
   static var previews: some View {
    
       ModifierUIView()
   }
}

在上面的代码中,我们首先创建了一个名为 TittleWatermark 的自定义 Modifier。

Tittle实现的功能就是可以把一个 Text 组件变成标题

WarterMark 实现的功能就是在组件的右下角加上一个水印

然后,我们通过在 View 的扩展中添加 tittleStylewaterMark 方法来应用这个修改器。

最后,我们在 ModifierUIView 中直接使用就可以了

通过创建和使用自定义 Modifier,我们可以在 Swift UI 中轻松地实现主题功能,以确保应用程序中的视图保持一致的外观和风格。自定义 Modifier 不仅可以用于外观样式,还可以用于添加特定的行为和功能。这种模块化的方法可以帮助我们更有效地管理和维护应用程序的视图层级结构。

相关文章
|
5月前
|
Java API iOS开发
swiftUI声明式语法
swiftUI声明式语法
75 1
|
前端开发 API
ant design控制tag选中的写法
ant design控制tag选中的写法
98 0
|
11月前
|
存储 异构计算
[√]creator对color处理的细节逻辑
[√]creator对color处理的细节逻辑
90 0
|
移动开发 UED HTML5
什么是 Accessibility 设计领域的 Auto Focus
什么是 Accessibility 设计领域的 Auto Focus
|
Swift 容器
SwiftUI 中自定义 container
自定义容器是在 Swift UI 中实现复杂布局和视图组合的强大工具。通过自定义容器,我们可以将一组视图组织在一起,以创建可重用的 UI 元素,同时保持一致的外观和行为。在本文中,我们将探讨如何使用自定义容器来实现一个主题,并深入了解其设计和实现细节。
|
Android开发 容器
Compose Modifier修饰符绝对详细的解说,学不会你打我表弟
Compose Modifier修饰符绝对详细的解说,学不会你打我表弟
673 0
Compose Modifier修饰符绝对详细的解说,学不会你打我表弟
|
前端开发
SwiftUI—使用ViewModifier视图修饰符集成多个样式
SwiftUI—使用ViewModifier视图修饰符集成多个样式
368 0
SwiftUI—使用ViewModifier视图修饰符集成多个样式
|
开发者 iOS开发
SwiftUI—创建第一个SwiftUI项目
SwiftUI—创建第一个SwiftUI项目
867 0
SwiftUI—创建第一个SwiftUI项目
SAP 电商云 Spartacus UI shipping method 切换时的 spinner 显示
SAP 电商云 Spartacus UI shipping method 切换时的 spinner 显示
122 0
SAP 电商云 Spartacus UI shipping method 切换时的 spinner 显示
|
JavaScript
SAP Spartacus Popover Directive 构造函数的用途分析
SAP Spartacus Popover Directive 构造函数的用途分析
SAP Spartacus Popover Directive 构造函数的用途分析