Swift 3的麻烦 - MSStickerBrowserView和scrollview?

时间:2016-09-29 01:09:14

标签: ios swift uiscrollview message swift3

好吧,我在Swift 3中遇到了一些问题,同时拼命地向MSStickerBrowserView添加UIScrollview

我正在使用邮件扩展应用,并通过故事板添加了我的scrollview(我通常以编程方式制作它们,但我认为通过约束更容易)。我已将scrollview作为我的MessagesViewController脚本中的插座连接起来。

我需要添加MSStickerBrowser我已创建为此subview的{​​{1}},这意味着用户可以滚动到浏览器视图,然后滚动浏览实际的浏览器。

这就是我正常创建浏览器视图并将其添加到视图的方式 - 当添加到视图中时,它全部按预期工作:

scrollview

我对MSStickerBrowsers了解不多,因为教程有限,但我知道这会将浏览器的大小与更改的Message VC的大小联系起来,并将其添加为普通的子视图。

然后我在逻辑上尝试将其添加为scrollview的子视图:

func createStickerBrowser() {
        let controller = MSStickerBrowserViewController(stickerSize: .large)


        addChildViewController(controller)
       view.addSubview(controller.view)

        controller.stickerBrowserView.backgroundColor = UIColor.gray
        controller.stickerBrowserView.dataSource = self

        //resize this programmatically later
        view.topAnchor.constraint(equalTo: controller.view.topAnchor).isActive = true
        view.bottomAnchor.constraint(equalTo: controller.view.bottomAnchor).isActive = true
        view.leftAnchor.constraint(equalTo: controller.view.leftAnchor).isActive = true
        view.rightAnchor.constraint(equalTo: controller.view.rightAnchor).isActive = true
    }

我已经尝试了多种变体,但无论贴纸浏览器视图是什么都无处可去。 let controller = MSStickerBrowserViewController(stickerSize: .large) //controller.view.frame = CGRect(x: 0, y: 0, width: view.bounds.width, height: view.bounds.height * 0.5) addChildViewController(controller) scrollView.addSubview(controller.view) controller.stickerBrowserView.backgroundColor = UIColor.gray controller.stickerBrowserView.dataSource = self //resize this programmatically later scrollView.topAnchor.constraint(equalTo: controller.view.topAnchor).isActive = true scrollView.bottomAnchor.constraint(equalTo: controller.view.bottomAnchor).isActive = true scrollView.leftAnchor.constraint(equalTo: controller.view.leftAnchor).isActive = true scrollView.rightAnchor.constraint(equalTo: controller.view.rightAnchor).isActive = true 在那里,而不是浏览器,并且没有错误打印到控制台。

这似乎应该很简单 - 我做错了什么?

0 个答案:

没有答案