问题标签 [swiftui-text]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
957 浏览

swiftui - 在 SwiftUI Text 中获取单词的框架

我想找到一个单词在句子中的位置,以便为该单词设置一个框架。比如像这样: 在此处输入图像描述

目前是否可以在 SwiftUI 中执行此操作

我写了一些代码,这就是我得到的

在此处输入图像描述

UIKit 上的相同代码与情节提要

在此处输入图像描述

0 投票
1 回答
350 浏览

swiftui - 检测用户何时停止/暂停在 TextField 中写入 - SwiftUI

我想在用户完成在 SwiftUI 的 TextField 中写入文本时收到通知。

中的情景如下:

- 用户在 TextField 中输入文本。

- 当用户编写的字符串长度超过 3 个字符并暂停或完成编写时,我希望应用程序收到通知,以便我可以使用该字符串。

尝试过 .onEditingChanged 但它会在每次更改时调用该操作,而不仅仅是在用户完成编辑时调用。

0 投票
1 回答
181 浏览

swiftui - SwiftUI - 适合多行文本宽度的内联样式文本背景颜色 SwiftUI

我正在尝试创建一种背景文本颜色,以跟踪多行文本每行的宽度。见下图:

行文本视图

我只能使用 .background(Color.black) 获得基本的框背景颜色,它为整个文本框提供了背景。所需的效果是仅在每行文本的末尾提供背景。

0 投票
1 回答
1707 浏览

swiftui - SwiftUI使用`.timer`更改`Text`的输出格式

有没有办法改变Textusing的输出格式init(_ date: Date, style: Text.DateStyle)

使用 a .timer,输出类似于:0:42,但我想要类似00:00:42.


背景

我想创建一个正在运行计时器的小部件(iOS 14),因为我认为每秒触发小部件更新并不是一个好主意,这甚至可能也无法可靠地工作,至少小部件不是这样缩进的要使用的。所以我想到了使用这个预定义的计时器功能Text

我对 SwiftUI 很陌生,还不太了解所有功能。所以也许我可以自己创建一个类似的自定义文本视图?关于如何实现这一目标的任何想法?

或者换一种方式问:有没有办法自己创建这样的自我更新组件,也可以在 iOS 14 小部件中使用?(似乎Timer.publish用于更新视图在 iOS 14 小部件中不起作用)

0 投票
1 回答
1456 浏览

swift - 如何在 SwiftUI 中的文本末尾实现“阅读更多”样式按钮

我有一个很长的文本,我想只显示 3 行带有更多按钮的按钮,就像图片一样,并且在文本展开时也显示一个更少的按钮。关于如何使用 swiftUI [1] 的任何想法:https ://i.stack.imgur.com/uSkU2.png

0 投票
0 回答
64 浏览

swiftui - 适合文本内容的 ScrollView 中的两个文本

我有两个Text在一个VStack。两种文本都可以增长到无限的行数。我希望如果文本增长超过屏幕,我可以滚动并查看所有内容。

米第一种方法:

结果:

在此处输入图像描述

当然没有滚动...所以我添加了一个ScrollView:

结果:

在此处输入图像描述

有用!但是当文本不足以填满屏幕的整个高度时,它ScrollView仍然会扩展到整个可用空间,我希望它能够包装内容并“禁用”滚动功能。

我用少量文字得到的示例:

在此处输入图像描述

我想用少量文本获得的示例:

在此处输入图像描述

所以问题是我怎样才能使ScrollView内容“包装”而不是扩展到父级的整个高度View

0 投票
1 回答
844 浏览

swift - SwiftUI Word Wrap 用于多行文本 Word 断字问题

我在使用 SwiftUI Text 时遇到了以下问题:在以下示例中,SwiftUI 在第一行将单词“Amazement”分解为“amazeme”,在第二行分解为“nt”。怎么避免,不是bug吗?

我希望将“惊奇”一词写在一行上。是否有任何修饰符可以允许这样做(不要划分单词或其他东西)?

尝试过 .allowsTightening、.fixedSize。更改了修饰符的顺序,没有帮助。

这是一个错误还是我们目前没有解决此问题的选项?该解决方案应该适用于每个字符串,而不仅仅是提到的字符串。

您可以使用以下代码复制行为:

文本断字问题示例

0 投票
2 回答
138 浏览

macos - 如何在 SwiftUI 中为文本保留空间

我有一个sheet显示上传文件的进度。它看起来像这样:

如您所见,更改的行(“3.4 MB of 13.9 ...”)被截断。这是因为它以一个宽度开始,但随后可以随着字符串中的不同数字增长。

我尝试了以下方法,作为为可能的最大字符串保留空间的技巧。它可以工作,但并不理想,因为白色Rectangle无法在黑暗模式下工作。

我没有看到 aColor.systemBackgroundColor或类似的东西来代替Color.white.

任何人都知道像这样为文本保留空间的好技巧吗?是我的ZStack想法还是别的什么?

0 投票
1 回答
101 浏览

swift - SwiftUi 有没有办法在 TextField 中获取文本

我最近从 UIKit 迁移到 SwiftUi 2.0,我正在使用 SwiftUI 重建我的应用程序。在 UIKit 中,我有一个文本框,在该文本框内我有一个发布按钮,我试图在 SwiftUi 中做同样的事情,但没有成功。在 SwiftUi 的下图中,您可以看到 Text 在 TextField 之外。这是我对该地区的代码

这就是它在 UIKit 中的样子

在此处输入图像描述

这就是我在 SwiftUI 中的方式,因为您可以看到帖子文本在 TextField 之外,任何建议都会很棒

在此处输入图像描述

0 投票
2 回答
304 浏览

swiftui - SwiftUI Text 意外填充底部和顶部

我需要精确控制 Text 占用的区域。我创建了一个最基本的程序,显示意外的顶部和底部间距被添加到文本中。这个额外的填充是从哪里来的?如何摆脱它?

@main struct myApp: 应用 {

}

在此处输入图像描述