有没有办法Text在 Swift UI 中在线为视图内的特定子字符串添加下划线?
// Code bellow will underline the ENTIRE string
// Any way to underline on a specific substring?
Text("You must be invited by an....")
.underline()
Run Code Online (Sandbox Code Playgroud)
这是我正在尝试构建的具体用户界面:
我有这段代码,并希望 ab 作为文本。
结果:aa -> 参见屏幕截图。我究竟做错了什么?
import SwiftUI
class PublishString : ObservableObject {
init(string: String) {
self.string = string
print(self.string)
}
@Published var string : String = "a"
}
struct ContentView: View {
@EnvironmentObject var text1 : PublishString
@EnvironmentObject var text2 : PublishString
var body: some View {
VStack {
Text(text1.string)
Text(text2.string)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView().environmentObject(PublishString(string: "a"))
.environmentObject(PublishString(string: "b"))
}
}
Run Code Online (Sandbox Code Playgroud)
并且......这有效:
class PublishString : ObservableObject {
init(string: String) { …Run Code Online (Sandbox Code Playgroud) 我想要一个无法擦除的“+”号文本字段。用户应该能够在它之后输入值,如果他按下退格键,它应该只擦除他输入的值。当我写任何其他数字时,它会自动在输入值的开头添加一个“+”。
例如:- 我想在文本字段中添加国家/地区代码,因此,一旦用户开始输入国家/地区代码,“+”就会自动添加到字段的开头。
我刚刚在 stackoverflow 中读到,我只能将动画与延迟连接起来,所以我在这里尝试了这个,它只是缩小然后再次缩放圆圈。不幸的是,缩小不起作用!?如果我注释掉不断增长、不断缩小的作品……
struct ContentView: View {
@State var scaleImage : CGFloat = 1
var body: some View {
VStack {
Button(action: {
withAnimation(Animation.easeInOut(duration: 1)) {
self.scaleImage = 0.01
}
withAnimation(Animation.easeInOut(duration: 1).delay(1.0)) {
self.scaleImage = 1
}
}) {
Text ("Start animation")
}
Image(systemName: "circle.fill")
.scaleEffect(scaleImage)
}
}
}
Run Code Online (Sandbox Code Playgroud)