IOS 8.3: UIActivityViewController показывает постороннюю строку
У меня есть UIActivityViewController
, для которого я исключил (используя excludedActivityTypes
) все типы активности UIActivityCategoryAction
.
В iOS 8.2, UIActivityViewController
будет показывать только одну строку для типов активности UIActivityCategoryShare
.
В iOS 8.3 я получаю пустую строку для UIActivityCategoryAction
. Смотрите снимок экрана ниже, где вторая строка имеет только "Больше".
Как удалить UIActivityCategoryAction
в UIActivityViewController
в iOS 8.3?
![enter image description here]()
Ответы
Ответ 1
В iOS 8 UIActivityViewController по-прежнему является API, который предоставляет только пользовательские функции, но не пользовательский интерфейс. Вы не можете изменить внешний вид. Единственная часть визуального стиля, которую вы можете изменить, - это значок ваших пользовательских подклассов UIActivity. (ref)
Вот как Apple реализует это, и его нельзя изменить с 8.3. Если вы действительно хотите избежать дополнительной строки и кнопки "Дополнительно", вы можете реализовать замену UIActivityViewController. Вот пара, которые недавно поддерживались:
![OvershareKit]()
![URBNShareKit]()
Литература:
Ответ 2
Это по-дизайн, чтобы пользователи могли добавлять обратно скрытые действия системы и сторонних разработчиков.
Ответ 3
Дополнительно - системное значение по умолчанию. который используется для переупорядочения приложения. и для расширения (ввести в IOS 8), кнопка Больше используется для изменения порядка приложения, а также добавления приложения в диалог. мы не контролируем его.
Надеюсь, что это поможет вам.
Ответ 4
UIActivityCategoryAction - это второй раздел UIColletionView, измените номер раздела, равный 1, и UIActivityCategoryAction исчезнет.
Вот demo