Как установить stickerSize в MSStickerBrowserViewController

Когда я создаю подкласс MSStickerBrowserViewController, встраивая его в контейнерное представление (используя раскадровку), как предлагает документация, у меня, похоже, нет возможности установить stickerSize. VC Sticker Browser инициализируется с помощью init(coder:), и я не вижу способа переопределить свойство стикера только для получения stickerSize. Я могу получить только stickerSize = MSStickerSize.regular.

Я не вижу никакого элемента управления в конструкторе интерфейса для настройки свойства, хотя в документации сказано: "Вы также можете настроить размер стикеров внутри браузера".

Благодаря shallowThought я вижу, что инициализатор доступен init(stickerSize: MSStickerSize) на MSStickerBrowserViewController, но до сих пор мне не удалось найти способ вызвать этот инициализатор при использовании раскадровки и переопределить требуемый инициализатор init (coder:).

Я что-то пропустил?

Спасибо!

2 ответа

Это сработало для меня: я добавил stickerSize в раздел "Определенные пользователем атрибуты времени выполнения" инспектора идентификации.

В этом примере PetStickerBrowserViewController является подклассом MSBrowserStickerViewController, stickerSize установлен в 0, что соответствует MSStickerSize.small,

Во время выполнения, когда контроллер представления создается из раскадровки, его stickerSize свойство установлено в .small, Используйте 1 для .regular (по умолчанию) и 2 для .large,

введите описание изображения здесь

Вы можете установить его при инициализации.

Из яблочной документации.

StickerBroweserView

init(frame: CGRect, stickerSize: MSStickerSize)

Создает новый браузер стикеров, содержащий стикеры указанного размера.

StickerBroweserViewController

init(stickerSize: MSStickerSize)

Создает новый контроллер просмотра стикеров с наклейками заданного размера.

Чтобы создать его подкласс, реализуйте соответствующий initializers.

Я не вижу способ позвонить init(stickerSize: MSStickerSize) каким-то образом приковывая init звонки из required init?(coder aDecoder: NSCoder)так что вам, возможно, придется создавать экземпляры viewControllers программно.

Другие вопросы по тегам