【发布时间】:2019-03-27 04:23:36
【问题描述】:
问题总结
我正在用 Swift 构建一个日历应用,我想从这个 repo 中的 UI 开始:https://github.com/erichoracek/MSCollectionViewCalendarLayout
这个 repo 是用 Objective-C 编写的。
但是,我不确定如何使用 Swift 在此 Github 存储库之上构建。
我想在日历中使用的 UI 示例:
我尝试过的
- 我用 CocoaPods 成功安装了这个库。
- 我跑了
$pod install。 - 我成功跑了
import MSCollectionViewCalendarLayout。 - 我在 Storyboard 上添加了一个新的
CollectionViewController,并将其分配给我的自定义CalendarViewController类 - 我尝试(愚蠢地)在
class CalendarViewController中使用下面的代码,但收到以下错误消息:
"Cannot assign value of type 'MSCollectionViewCalendarLayout.Type' to type 'UICollectionViewLayout'"
override func viewDidLoad() {
super.viewDidLoad()
self.collectionView.collectionViewLayout = MSCollectionViewCalendarLayout
}
我知道我可能必须使用
self.collectionView.register(cellClass:forCellWithReuseIdentifier:)...但是如何使用?Github 中有一些名为“Usage”的文档,但不幸的是我仍然不知道如何使用它:
-
还包含一个 Example.xcworkspace,用 Objective-C 编写。我已经经历了大部分。它们包括它们使用的每个元素的标头 (.h) 和实现 (.m) 文件。
这里有一个切线问题的好答案:https://stackoverflow.com/a/45540130/3979651,但这并不能直接解决我的问题。我想
import这个 Cocoapods 库,而不是写在 Objective-C 文件之上。但我也不完全确定这是否是正确/最好的方法。
问题总结
- 如何将我的
CollectionViewController链接到MSCollectionViewCalendarLayout以使其具有相同的用户界面? - 在这种情况下如何使用
self.collectionView.register(cellClass:forCellWithReuseIdentifier:)? - 是否必须像示例中那样为每个元素编写一个新文件? (事件单元格、日期列标题等)
- 或者,将示例元素文件(.h 和 .m)复制并粘贴到我的应用程序中会更容易吗?如果是这样,我如何在这些文件之上构建?
我想完成什么
我想像库一样导入MSCollectionViewLayout,将它附加到我自己的CollectionViewControllers,并在此基础上构建我自己的功能,全部使用Swift。
提前谢谢大家!希望我可以在这里向 repo 的 README.md 文件提交正确的答案。
【问题讨论】:
-
self.collectionViewLayout = ...应该更像self.collectionView.collectionViewLayout = ...
标签: objective-c swift cocoapods