【问题标题】:Add PHLivePhotoView to the storyboard将 PHLivePhotoView 添加到情节提要
【发布时间】:2019-04-04 07:18:58
【问题描述】:

我正在尝试使用 Storyboard 将 PHLivePhotoView 放入 WelcomeVideoItemViewController。为此,配置了具有自定义类的视图:

场景层级:

自定义View Controller的实现:

class WelcomeVideoItemViewController: UIViewController, PHLivePhotoViewDelegate {
    @IBOutlet weak var livePhotoView: PHLivePhotoView!

    @IBOutlet weak var tipImageView: UIImageView!

    @IBOutlet weak var tipLabel: UILabel!


    override func viewDidLoad() {
        super.viewDidLoad()

        print(livePhotoView)
        // Optional(<UIView: 0x7fd161f200b0; frame = (0 0; 320 568); autoresize = RM+BM; layer = <CALayer: 0x60000134ac60>>)

        // Crash here
        livePhotoView.delegate = self
    }
}

所以问题是livePhotoView 是用UIView 实例初始化的,这会导致崩溃,因为UIView 没有delegate 属性。我可以让这个自定义类工作吗?

Xcode 10.2、iOS 12.2、Swift 4.2

【问题讨论】:

  • 对于一个因为“为什么这段代码不起作用”而对问题投反对票并将其标记为关闭的人:这个问题清楚地表明,SDK 中存在一个错误,并且它有与我的代码无关。故事板未按预期工作。

标签: ios swift xcode storyboard


【解决方案1】:

我找到了解决方法。首先,创建一个自定义的PHLivePhotoView 子类:

import PhotosUI

class LivePhotoView: PHLivePhotoView {
}

然后,将View 拖到情节提要并为其设置自定义类:

别忘了查看Inherit Module From Target

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 2015-03-05
    相关资源
    最近更新 更多