首页 > 其他分享 >SwiftUI Text富文本

SwiftUI Text富文本

时间:2022-11-09 10:25:09浏览次数:48  
标签:font onTapGesture HStack Text 拼接 SwiftUI 文本 size

富文本解决方案大致有下面几种
1、Text的超链接:
2、如果是单行文字使用HStack把多个Text拼接起来,这种方式比较简单也用的比较多
3、Text + Text的拼接,处理onTapGesture事件。不可行,因为onTapGesture返回的是some View,而不是Text,+ 拼接是适用于Text,所以不可行。
4、 跳转URL Schemes,在本应用中接收。可行

这里主要介绍几种常见的解决方案

Text跳转URL Schemes

设置超链接需要先在 target ——> info ——> URL Types ,新建一个URL Schemes。

Text("登录即代表您已同意并同意[《XX商城使用协议》](mydemo:protocol)")
 .onOpenURL { url in
        switch url.absoluteString {
        case "mydemo:protocol":
            //todo something
            break
        default:
            break
        }
  }

HStack包裹两个Text

这种方式比较适用单行且内容固定的场景

 HStack{
    Text("登录即代表您已同意并同意")
        .font(.system(size: 14))
    Text("《XX商城使用协议》")
        .font(.system(size: 14))
        .foregroundColor(.orange)
        .onTapGesture {
            print("点击协议")
        }
}
.frame(width: UIScreen.main.bounds.size.width)

Text + Text的拼接

此种方式比较灵活唯一不好的地方是,无法处理富文本内容的onTapGesture事件,因为onTapGesture返回的是some View,而不是Text,+ 拼接是适用于Text,所以不可行,可以把点击事件放在外层,让整行都可以点击,用来处理该场景还是比较合适的

HStack{
    Text("登录即代表您已同意并同意")
        .font(.system(size: 14))
    +
    Text("《XX商城使用协议》")
        .font(.system(size: 14))
        .foregroundColor(.orange)
}
.frame(width: screenWidth)
.onTapGesture {
      print("点击协议")
}

标签:font,onTapGesture,HStack,Text,拼接,SwiftUI,文本,size
From: https://www.cnblogs.com/qqcc1388/p/16872683.html

相关文章

  • 检测ugui预制体中Text上的中文
    界面需要做国际化的时候,一般不会在Text组件上使用中文,而是使用id或者key来代替,这个代码用于检测直接写了中文的Text  #ifUNITY_EDITORusingSystem.Text;using......
  • shell-文本处理学习笔记
    grep和egrep第一种形式:grep[option][pattern][file1file2...]第二种形式:command|grep[option][patern]选项:option-v不显示匹配行grep-vpythonfile......
  • css 文本属性
            ......
  • WPF禁用TextBox右键菜单
    WPF禁用TextBox右键菜单如此做<TextBoxGrid.Row="1"HorizontalAlignment="Right"VerticalAlignment="Bottom"Padding="0055"FontSize="12"x:Name="txtBoxHe......
  • Sublime Text 常用且比较实用的插件
    Sublimetext3安装ControlPackage插件管理器1、按键盘上的Ctrl+~打开控制面板,并粘贴复制以下代码。importurllib.request,os,hashlib;h='817937144c34c84c88cd43b......
  • OpenCV_contrib里的Text(自然场景图像中的文本检测与识别)
    平台:win10x64+VS2015专业版+opencv-3.x.+CMake待解决!!!Issue说明:最近做一些字符识别的事情,想试一下opencv_contrib里的Text(自然场景图像中的文本检测与识别)模块。原因:解......
  • jquery实现简单富文本编辑
      <script>$("#under").click(function(){varsec=getSelection()if(sec==undefined){return;......
  • 定制富文本编辑器
    定制富文本编辑器很多时候<textarea>并不能满足我们对文本输入的需求,当我们需要为输入的文本添加格式时,我们需要使用像quill这样的富文本编辑器来完成富文本的输入。本文将......
  • SwiftUI 状态管理@State、@Binding、@ObservedObject、@EnvironmentObject、@StateObj
    State基本描述:和一般的存储属性不同,@State修饰的值,在SwiftUI内部会被自动转换为一对setter和getter,对这个属性进行赋值的操作将会触发View的刷新,它的body会被......
  • android_文本垂直滚动
    这个自定义view主要实现的是垂直文本自动滚动,当文本高度超出垂直高度时自动滚动。也可以修改成其他条件触发滚动。参考了网上一篇文章,找不到出处了。packagecom.serviatech......