Подтвердить что ты не робот

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

4b9b3361

Ответ 1

В iOS 8 UIActivityViewController по-прежнему является API, который предоставляет только пользовательские функции, но не пользовательский интерфейс. Вы не можете изменить внешний вид. Единственная часть визуального стиля, которую вы можете изменить, - это значок ваших пользовательских подклассов UIActivity. (ref)

Вот как Apple реализует это, и его нельзя изменить с 8.3. Если вы действительно хотите избежать дополнительной строки и кнопки "Дополнительно", вы можете реализовать замену UIActivityViewController. Вот пара, которые недавно поддерживались:


OvershareKit

OvershareKit


URBNShareKit

URBNShareKit


Литература:

Ответ 2

Это по-дизайн, чтобы пользователи могли добавлять обратно скрытые действия системы и сторонних разработчиков.

Ответ 3

Дополнительно - системное значение по умолчанию. который используется для переупорядочения приложения. и для расширения (ввести в IOS 8), кнопка Больше используется для изменения порядка приложения, а также добавления приложения в диалог. мы не контролируем его.

Надеюсь, что это поможет вам.

Ответ 4

UIActivityCategoryAction - это второй раздел UIColletionView, измените номер раздела, равный 1, и UIActivityCategoryAction исчезнет.

Вот demo