- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
多行文本输入目前在 SwiftUI 中不受 native 支持(希望很快添加此功能!)所以我一直在尝试使用组合框架从 UIKit 实现支持多行输入的 UITextView,但是我的结果喜忧参半.
这是我创建的用于制作 TextView 的代码:
struct MultilineTextView: UIViewRepresentable {
@Binding var text: String
func makeUIView(context: Context) -> UITextView {
let view = UITextView()
view.isScrollEnabled = true
view.isEditable = true
view.isUserInteractionEnabled = true
view.backgroundColor = UIColor.white
view.textColor = UIColor.black
view.font = UIFont.systemFont(ofSize: 17)
view.delegate = context.coordinator
return view
}
func updateUIView(_ uiView: UITextView, context: Context) {
uiView.text = text
}
func frame(numLines: CGFloat) -> some View {
let height = UIFont.systemFont(ofSize: 17).lineHeight * numLines
return self.frame(height: height)
}
func makeCoordinator() -> MultilineTextView.Coordinator {
Coordinator(self)
}
class Coordinator: NSObject, UITextViewDelegate {
var parent: MultilineTextView
init(_ parent: MultilineTextView) {
self.parent = parent
}
func textViewDidChange(_ textView: UITextView) {
parent.text = textView.text
}
}
}
MultilineTextView(text: title ? $currentItem.titleEnglish : $currentItem.pairArray[currentPair].english)//.frame(numLines: 4)
@State var currentItem:Item
struct Item: Identifiable, Codable {
let id = UUID()
var completed = false
var pairArray:[TextPair]
}
struct TextPair: Identifiable, Codable {
let id = UUID()
var textOne:String
var textTwo:String
}
最佳答案
SwiftUI 似乎创建了 UIViewRepresentable
的两个变体。 , 对于每个绑定(bind),但在 state 时不切换它们,即 title
已切换......可能是由于缺陷,值得提交给Apple。
我找到了可行的解决方法(使用 Xcode 11.2/iOS 13.2 测试),而是使用如下明确不同的 View
if title {
MultilineTextView(text: $currentItem.titleEnglish)
} else {
MultilineTextView(text: $currentItem.pairArray[currentPair].textOne)
}
关于SwiftUI UIViewRepresentable UITextView 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59840437/
我创建了一个 UIViewRepresentable对于 UIVisualEffectView为了使某些组件充满活力。这是可行的,但是它似乎有时会垂直缩小控件,或者只是在运行时随机改变它们的边界。我似
我想,这个想法是这样的:无论 SwiftUI 中还没有提供什么,都可以使用 UIViewRepresentable 绕过。所以我开始为 TTTAttributedLabel 制作一个 UIViewRe
我正在处理一个应用程序,我必须将 MKMapView (UIKit) 嵌入到 SwiftUI View 中。不幸的是,我不能使用 SwiftUI 的实现 Map,因为我必须支持集群(Map 目前无法支
我正在开发一个新的 SwiftUI 应用程序,并试图弄清楚如何使这个 Swift 项目与 SwiftUI 兼容: https://github.com/suzuki-0000/SKPhotoBrows
由于 SwiftUI 的限制,我通常需要跳回 UIKit 并利用 UIKit 组件。这一切都很好,但我发现我通常需要继续创建单独的结构来保存我需要的功能。 例如。假设我有一个包含 4 个字段的表单,例
我正在尝试学习与 SwiftUI 结合,我正在努力如何使用 ObservableObject 更新我的 View (来自 UIKit) (以前的 BindableObject )。显然,问题是方法 u
我正在尝试将 UILabel 的自定义子类包装在 UIViewRepresentable 中,以便在 SwiftUI 中使用它。我正在使用 .sizeToFit 并打印框架,它在包装器中时看起来是正确
多行文本输入目前在 SwiftUI 中不受 native 支持(希望很快添加此功能!)所以我一直在尝试使用组合框架从 UIKit 实现支持多行输入的 UITextView,但是我的结果喜忧参半. 这是
我尝试在 SwiftUI 上构建一个基本的 Live Photo 应用程序,但在显示所选照片时遇到了困难。为此,我尝试为 PHLivePhotoView 制作 UIViewRepresentable:
当我在 SwiftUI 中创建一个 View 并在 Xcode 预览中呈现它时,使用 PreviewLayout.sizeThatFits ,预览会根据其内容调整其大小。当我使用 UIViewRepr
我正在尝试从 SpritzSwift 实现 uiView进入 SwiftUI 应用程序,但在第一次渲染后我无法更新它。驱动 UIView 的管理器正在工作,但 UIView 本身没有更新。我希望 Vi
我为 UITextField 创建了一个 UIViewRespresentable。我想应用修饰符: myTextField.font(.headline).keyboardType(keyboard
下面是最简单的例子。在预览中工作正常(UITextView 文本更新为“ouch”)。但是,在应用程序中运行它(即通过 sceneDelegate 添加为 rootView),UITextView 不
我很困惑,无法找到有关如何包装 UIKit 组件并正确调整其大小的文档。这是最简单的例子,包装一个 UILabel: public struct SwiftUIText: UIViewRepresen
是否可以制作 UIViewRepresentable View 需要 ViewBuilder参数处理动态内容,例如 ForEach循环? 我有以下 UIViewRepresentable我用来下拉到
我有一个 SwiftUI 应用程序,其中有几个 View 是使用 MapKit 制作的 map UIViewRepresentable。我有兴趣点和使用的自定义注释用于进一步操作的左右标注按钮。在右边
我有一个简单的例子,我在父 View 中创建一个 @ObservedObject 并将其传递给子 UIViewRepresentable。当我单击“按钮”时,它会修改 @ObservableObjec
在 SwiftUI 中将自定义 UILabel 添加到 List 时,我遇到单元格重用错误,其中某些单元格上的标签根本不可见,并且有些单元格被放置在左上角,而不考虑单元格的填充。它总是在初始单元格上完
为了定制一个UISlider ,我在 UIViewRepresentable 中使用它.它公开了一个 @Binding var value: Double这样我的 View 模型 ( Observab
将 lineBreakMode 设置为 byWordWrapping 并将 numberOfLines 设置为 0 似乎还不够: struct MyTextView: UIViewRepresenta
我是一名优秀的程序员,十分优秀!