如何在MSStickerBrowserViewController

时间:2016-12-16 16:14:34

标签: ios swift swift3 mssticker

当我根据文档建议将它嵌入容器视图(使用故事板)创建MSStickerBrowserViewController子类时,我似乎没有机会设置stickerSize。 Sticker Browser VC用init(编码器:)初始化,我无法看到覆盖get-only属性stickerSize。我只能得到stickerSize = MSStickerSize.regular。

我没有在界面构建器中看到任何控件来配置属性,尽管文档说“你也可以在浏览器中自定义贴纸的大小。”

感谢shallowThought,我在MSStickerBrowserViewController上看到初始化程序可用init(stickerSize:MSStickerSize),但到目前为止,在使用故事板并覆盖所需的init时,我无法找到触发初始化程序的方法(编码器: )初始化器。

我错过了什么吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

这对我有用:我将stickerSize添加到Identity Inspector的“用户定义的运行时属性”部分。

在此示例中,PetStickerBrowserViewController是MSBrowserStickerViewController的子类。 stickerSize设置为0,对应MSStickerSize.small

在运行时,从故事板实例化视图控制器时,其stickerSize属性设置为.small。使用1代表.regular(默认值),将2代表.large

enter image description here

答案 1 :(得分:1)

您可以在初始化时进行设置。

来自Apples documentation.

<强> StickerBroweserView

init(frame: CGRect, stickerSize: MSStickerSize)
  

创建一个包含指定尺寸贴纸的新贴纸浏览器。

<强> StickerBroweserViewController

init(stickerSize: MSStickerSize)
  

创建一个新的贴纸浏览器视图控制器,其中包含所提供尺寸的贴纸。

要对其进行子类化,请实现相应的init ializers。

我看不到以某种方式通过init(stickerSize: MSStickerSize)链接init来调用required init?(coder aDecoder: NSCoder)的方法,因此您可能必须以编程方式实例化viewControllers。