【问题标题】:How to import FSCalendar using SwiftUi?如何使用 SwiftUi 导入 FSCalendar?
【发布时间】:2020-08-17 21:40:06
【问题描述】:

这是我的代码:

import SwiftUI
import FSCalendar

class calendars: UIViewController, FSCalendarDelegate{
    var calendar = FSCalendar()

    override func viewDidLoad() {
        super.viewDidLoad()
        calendar.delegate = self
    }

    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        calendar.frame = CGRect(x: 0, y: 100, width: view.frame.size.width, height: view.frame.size.width)
        view.addSubview(calendar)
    }
}

struct CalendarView: View {
    var body: some View{
            calendars()
    }
}

我真的不知道 swiftui 是否正确,但我收到一个错误说 Return type of property 'body' requires that 'calendars' conform to 'View' 我只想导入一个日历和一些待办事项列表。

【问题讨论】:

标签: swiftui swift5 xcode11 fscalendar


【解决方案1】:

将 FSCalendar 包含到 SwiftUI 中的最简单方法是将其包装在 UIView 中:

struct CalendarView: UIViewRepresentable {

func makeUIView(context: Context) -> UIView {
    return FSCalendar(frame: CGRect(x: 0.0, y: 40.0, width: .infinity, height: 300.0))
}

func updateUIView(_ uiView: UIView, context: Context) {
}
}

在 SwiftUI 代码中的使用:

CalendarView()

【讨论】:

    【解决方案2】:

    我明白了..

    struct CalendarController: UIViewControllerRepresentable {
    
        func makeUIViewController(context: UIViewControllerRepresentableContext<CalendarController>) -> calendars {
            return calendars()
        }
    
        func updateUIViewController(_ uiViewController: calendars, context: UIViewControllerRepresentableContext<CalendarController>) {
        }
    
    }
    

    【讨论】:

    • 我找不到这种方法。如果可能,请分享完整的代码 sn-p 以使用。同时拖动以选择日期功能
    • 您能否分享您的完整代码以使 FSCalendar 与 UIViewControllerRepresentable 一起使用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    相关资源
    最近更新 更多