问题标签 [uiviewrepresentable]
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.
swift - SwiftUI - UITextField 中的状态更改导致 frameWidth 不受控制地增长并忽略边界/框架
我正在使用 SwiftUI 并桥接到 UITextField(我需要分配 firstResponder)。我使用这里的代码:SwiftUI:如何使 TextField 成为第一响应者?
以下代码更新了我的 @Binding 变量。这当然是预期的行为。问题是这会导致 textField 忽略框架/边界。它只是扩展并将其他元素推出视图。视图的其他部分也依赖于@State。
如何更新 @State 并仍将 textField 保留在框架中?
uikit - SwifUI 通过实现 UIViewRepresentable 使用 UIKit 组件
好的,我知道如何使用 UIViewRepresentable 和 Coordinator 包装 UIKit 组件(如 TextField)与 SwiftUI 一起使用。这一切都运作良好。但是,如何以 SwiftUI 的原生方式(即使用修饰符)从 SwiftUI 的角度自定义这些组件?
我有 UITextField 的示例包装器来启用一些额外的委托方法处理。这与将闭包传递给构造函数的本地方法类似。但是我如何使用 SwiftUI 修饰符对这个 UITextField 应用一些样式呢?
现在我想像这样使用它:
好的,我知道我可以在包装器中硬编码这种风格,或者通过构造函数传递它。是的,但这不是 SwiftUI 本地执行此操作的方式。
ios - SwiftUI 中的 PencilKit
我正在尝试PencilKit
在 SwiftUI 中使用。
- 如何在
updateUIView
-function 中检测到哪个Binding
-variable 已更新?例如,我不想在更改颜色时清除画布。 - 还有比切换布尔值更好的方法来清除画布吗?切换布尔值会强制
updateUIView
执行 -function。
swiftui - 在具有 UIViewRepresentable 大小问题的 SwiftUI 中使用 Material MDCCard
我正在尝试在 SwiftUI 中使用 Material 组件 MDCCard 并尝试使其大小与其子视图完全相同,但最终我得到了拉伸大小以填充其父级中的任何可用空间。
我怎样才能让它的大小包裹它的内容。
这是我的材料卡
这是使用的预览
结果是
swift - SwiftUI - Embedded UITextField invokes the shouldChangeCharacters delegate method for suggested text
I'm using UIViewRepresentable
to wrap a UITextField
in order to create a TextField
view for SwiftUI which is more fully featured than the currently built-in one. The Coordinator
class is of course the delegate of the UITextField
. The delegate method textField(_:shouldChangeCharactersIn:replacementString:)
is getting called when the user types a character (as it should), but also when an autocorrect suggestion comes up. As far as I know this is not normal UITextField
behavior, and it's very troublesome. Is this because the text field is embedded in a SwiftUI view hierarchy?
ios - 在 SwiftUI 中使用分段式选择器在两个页面之间滑动
我有一个Picker
with.pickerStyle(SegmentedPickerStyle())
使它成为一个分段控件。我想让页面在它们之间平滑滑动,而不是使用条件语句替换视图。
这是我到目前为止所做的 GIF:
这是到目前为止的代码(由 控制if
,而不是在不同页面之间切换):
我想要类似的东西UIPageViewController
。如果有 SwiftUI 版本或一个好的替代方案,那真的很有帮助。
但是,如果我确实需要使用 UIKit UIViewRepresentable
,我不知道如何使用 SwiftUI 来实现它。
ios - 如何在包装器 Swift View 中使用自定义 UIView 的扩展功能?
(在 Xcode 11.3、Swift 5.1.3 中测试)
我想扩展 UIView,用 UIViewRepresentable 包装它,并将其用作 Swift View。但是,我很难从包装器 Swift View 访问自定义 UIView 的扩展功能。
起初,虽然是一种有状态的策略,但我尝试在 CameraCaptureImageView 中声明一个成员变量,并在创建时设置 UICameraCaptureImageView 实例。但正如您所见,makeUIView() 并未声明为变异方法,因此我无法变异 CameraCaptureImageView 的任何成员。
如何从 UIViewRepresentable 包装器访问我的 UIView 子类中的扩展自定义函数 startCameraCapture()?或者,是否有任何无状态、体面的解决方案可以在 SwiftUI 中使用扩展的旧 UIView?
ios - 带有 UIViewRepresentable 的 SwiftUI 自定义文本字段 ObservableObject 和推送视图的问题
我为 SwiftUI创建了一个UIViewRepresentable
包装,因此我可以在用户点击回车键时更改第一响应者。UITextField
这是我的 UIViewRepresentable(为了简单起见,我删除了第一响应者代码)
应用程序的第一个屏幕有一个“使用电子邮件登录”按钮,该按钮会推送显示 aCustomUIKitTextField
并使用ObservableObject
视图模型的 @Published 属性作为 TextField 文本的 MailView。
一切正常,直到我推送另一个视图,如 MailView,例如 UsernameView。它以完全相同的方式实现,但是一旦我完成输入,它就会以某种方式CustomUIKitTextField
得到updateUIView
一个空字符串的调用。
还有一些奇怪的行为,例如当我将 MailView 和 UsernameView 包装在另一个 NavigationView 中时,一切正常。但这显然不是解决问题的方法,因为那时我会有多个 NavigationView。
它也适用于在视图模型中使用 @State 属性而不是 @Published 属性。但我不想使用@State,因为我真的想将模型代码保留在视图之外。
有没有人遇到相同或类似的问题?
swift - 尝试将 @EnvironmentObject 从子视图分配给父视图失败,因为 EnvironmentObject 是只读的
我有一个基于地图的应用程序,所以我想为地图的当前位置提供一个应用程序范围的属性。
我在 SceneDelegate 中初始化它
我已将其声明MainView
为@EnvironmentObject
我把它注射到我的UIViewRepresentable
孩子身上
在MapView
我有一个最终的子类
它充当我的地图视图代表,我想在其中更新currentPosition
但是这个作业
currentPosition = CurrentPosition(northEast: mapView.northEastCoordinate, southWest: mapView.southWestCoordinate)
会抛出一个错误
Cannot assign to property: 'currentPosition' is a get-only property
,我真的不知道我做错了什么。
目的是每次用户移动地图时更新位置,以便我可以使用当前坐标向我的 API 执行请求。
CurrentPosition 声明如下