- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想,这个想法是这样的:无论 SwiftUI 中还没有提供什么,都可以使用 UIViewRepresentable 绕过。所以我开始为 TTTAttributedLabel 制作一个 UIViewRepresentable。
但是 API 中缺少一些基本的东西,或者我缺少一些基本的东西:如何设置 UIViewRepresentable 的“内在内容大小”?
很像 SwiftUI Text
,我希望我的组件能够根据其容器的大小将自身设置为特定大小。
我的第一个想法是使用固有内容大小,所以我创建了这个:
class SizeRepresentableView: UILabel {
override init(frame: CGRect) {
super.init(frame: CGRect.zero)
text="hello"
backgroundColor = UIColor.systemYellow
}
override var intrinsicContentSize: CGSize {
return CGSize(width: 100, height: 100)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
struct SizeRepresentable: UIViewRepresentable {
func updateUIView(_ uiView: SizeRepresentableView, context: Context) {
}
typealias UIViewType = SizeRepresentableView
func makeUIView(context: UIViewRepresentableContext<SizeRepresentable>) -> SizeRepresentableView {
let v = SizeRepresentableView(frame: CGRect.zero)
return v
}
}
struct SizeRepresentableTest: View {
var body: some View {
VStack {
SizeRepresentable()
Spacer()
}
}
}
struct SizeRepresentable_Previews: PreviewProvider {
static var previews: some View {
SizeRepresentableTest()
}
}
但这行不通。标签占据了所有空间,而垫片没有。使用 SwiftUI Text
而不是我的 SizeRepresentable
,标签整齐地排列在顶部,垫片占据了所有空间,这是应该的。
我似乎找不到任何关于如何布局 UIViewRepresentable 的文档。
有什么办法解决这个问题?
最佳答案
参见:How does UIViewRepresentable size itself in relation to the UIKit control inside it?
struct SizeRepresentableTest: View {
var body: some View {
VStack {
SizeRepresentable().fixedSize()
Spacer()
}
}
}
关于ios - 如何设置 UIViewRepresentable 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61556054/
我创建了一个 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
我是一名优秀的程序员,十分优秀!