当前位置: 首页 > 知识库问答 >
问题:

如何在SwiftUI视图中使用自定义UI控件如按钮?

宁兴修
2023-03-14

我们为应用程序设计了一些自定义控件,如CustomButton、CustomTexView等。这些控件定义应用程序的主题并具有标准大小。现在我们正计划在我们的项目中使用SwiftUI。如何在SwiftUI结构中使用这些自定义控件?

即。

struct ContentView: View {
  var body: some View {
     HStack {
        Text("SwiftUI from ContentView2")
        Rectangle() //Here we need to add custom button. i.e. CustomButton defined in our project which is written in UIKit`enter code here`
     }
 }

}

共有1个答案

尤俊誉
2023-03-14

这个代码属于这个问题,原来的海报有很多信息与它。这不是解决问题的方法,但它是一个很好的示例,说明如何将现有的故事板转换为SwiftUI视图

import SwiftUI

struct ContentView: View {
var body: some View {
    StoryboardViewController()
}
}

struct ContentView_Previews: PreviewProvider {
static var previews: some View {
    ContentView()
}
}

struct StoryboardViewController: UIViewControllerRepresentable {
func makeUIViewController(context: Context) -> some UIViewController {
    let storyboard = UIStoryboard(name: "Storyboard", bundle: Bundle.main)
    let controller = storyboard.instantiateViewController(identifier: "Main")
    return controller
}

func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) {
    
}
}
 类似资料:
  • 我对Android开发非常陌生,这是我的第一个Android应用程序。 下面是我的MainActivity布局: 这是MainActivity的组件树

  • 主要内容:前记,1.自定义视图,2.自定义异常,3.自定义异常的原理前记 在前面的文章中, 表示了视图解析的原理和异常解析器的解析原理。 这篇通过如何自定义视图和自定义异常处理和自定义异常处理的原理进行说明。 这里说明一下, 自定义的视图和自定义的异常都是会代替容器默认的组件的, 异常还好说, 就是不符合就抛, 视图的话需要注意一下优先级, 可以在自定义的视图解析器上加上注解。 1.自定义视图 这里原理就是添加一个视图和视图解析器, 然后放入容器中, 最后访问相应

  • 问题内容: 我正在尝试使用Apple的 SwiftUI 制作一个应用程序,我需要有两个按钮在同一行中显示两个不同的视图。 我使用 Xcode beta 7 和 MacOS Catalina beta 7 。我尝试添加一个表示视图的视图,但是无法单击它,而当我尝试在外部进行简单单击并单击该视图时,该视图没有出现。我也尝试过添加一个内部,但是它也不起作用。单击时也无法添加,视图仍然不会出现 我希望该视

  • 问题内容: 目标是可以轻松访问任何级别的SwiftUI视图层次结构的托管窗口。目的可能有所不同- 关闭窗口,退出第一响应者,替换根视图或contentViewController。与UIKit / AppKit集成有时也需要通过窗口的路径,因此… 我在这里遇到和尝试过的 像这样的东西 或通过在每个SwiftUI视图中添加UIViewRepresentable / NSViewRepresentab

  • 问题内容: 我要实现ActionBar必须如下所示的自定义: 所以问题: 如何实现类似自定义视图的按钮:仅显示一些图像? 如何在顶部绘制一条线? 以及如何实现不带分隔线的按钮:在上添加标签或添加什么? 问题答案: 如果要使用ActionBarAPI,这几乎与你将获得的接近。我不确定你是否可以在ActionBar不进行奇怪的Window黑客操作的情况下在其上方放置一个色带,这是不值得的。至于更改Me

  • 我试图找出正确的方法,有条件地包括一个视图与swiftui。我不能直接在视图中使用,必须使用堆栈视图才能做到这一点。 这是可行的,但似乎会有更干净的方法。