2015-03-23 2 views
2

Я разрабатываю виджет iOS сегодня, отображающий динамический контент с помощью UITableView. В некоторых случаях содержание виджета превышает высоту Notification Center, но при использовании:Сегодня проблема с виджетами высотой

[self setPreferredContentSize:CGSizeMake(self.view.bounds.size.width, contentHeight)]; 

предела OS высота виджета, чтобы быть точно Notification Center высоты видимой UI.

Согласно Apple, документация, это не очень хороший опыт, когда высоты виджета превышает высоту Notification Center, но никаких ограничений не документировано:

Избегайте делать прокручивать или вертикально смещать вид, чтобы увидеть все информации в вашем виджете Today. Виджет может расширяться по вертикали до . Дополнительная информация, но это не очень хороший опыт, когда высота виджета превышает высоту Центра уведомлений, потому что он вмешивается в прокрутку, чтобы увидеть другие виджеты Today.

Я немного поиграл с Apple (встроенным) запасом и добавил более 20 акций. Когда я открываю виджет «Фондовый», сначала он показывал несколько акций с кнопкой «Просмотреть все». Когда я нажал кнопку, я смог увидеть список всех акций, хотя содержимое виджета превышает высоту Notification Center. (Мне нужно было прокрутить, чтобы просмотреть весь список).

У кого-нибудь есть подсказка, как описать описанный выше опыт?

+0

Дари, возможно ли это сейчас? – sateesh

+0

Насколько я знаю, это все еще невозможно. Мне удалось преодолеть это ограничение с помощью некоторого обходного пути. В первом запуске виджет вызывает «setPreferredContentSize:» с высотой 3000.0, чтобы получить максимальную высоту в обратном вызове viewWillTransitionToSize: withTransitionCoordinator: '. Затем сохраните его в NSUserDefault (или в другом месте) для последующего использования. –

ответ

0

По моему опыту этот вариант в настоящее время не доступен для сторонних распространителей. Окружение расширения ограничивает высоту, и запрос на большее не влияет. Хуже всего то, что фактический предел варьируется в зависимости от размера экрана, и нет возможности узнать предел во время выполнения, за исключением проб и ошибок.

Приложения Apple, а теперь и расширения, часто освобождаются от правил, регулирующих стороннее программное обеспечение. Это похоже на другой случай, когда это происходит.

Я подал ошибку (rdar: // 18408718, если кто-нибудь из Apple увидит это), и я призываю вас сделать то же самое.

Смежные вопросы