2016-09-22 7 views
0

Моя проблема в том, что я не могу понять, как получить все свое расширение для отображения. Он должен показать четыре строки, но он всегда отсекает, как это:Сегодня Extension AutoLayout не работает

Cut off Today extension

Я читал некоторые темы и попытался preferredContentSize, но он не работает либо:

func widgetPerformUpdate(completionHandler: (@escaping (NCUpdateResult) -> Void)) { 
    self.preferredContentSize = CGSize(width: 0, height: 400)   
    completionHandler(NCUpdateResult.newData) 
} 

Что это разочарование, что я не должен 't даже нужен preferredContentSize, потому что я устанавливаю ограничения автоматического макета!

autolayout constraints

Вы заметите дно ограничение пунктирная линия, потому что в настоящее время устанавливается на 999 приоритета, но я попробовал это в 1000 тоже.

Как исправить это? Пожалуйста помоги!!

ответ

1

Я знаю, о чем вы говорите, у меня такая же проблема.

Я вижу, что ваш виджет не может быть выше определенной высоты для вашего устройства. Но вы можете включить расширенный режим, в котором вы можете переключаться между компактным и расширенным представлением вашего виджета.

Думаю, он должен очистить сегодняшний вид от слишком больших виджетов.

Эта статья поможет вам: https://forums.developer.apple.com/thread/48930

важные части являются:

self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded 

func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) { 
    if (activeDisplayMode == .compact) { 
     self.preferredContentSize = maxSize; 
    } 
    else { 
     self.preferredContentSize = CGSize(width: 359, height: 200) 
    } 
} 
+0

Спасибо, это сработало. Это заставляет меня использовать «Показать больше»/«Показать меньше», но я могу сделать эту работу. –

+0

То же самое для меня, мне также нужно использовать больше/меньше, но почему нет - имеет смысл как-то :) – maddy

+0

Реально ли это решает проблемы? Это создает статическую высоту 200, разве вы не хотите, чтобы ее автоматически настраивали с помощью автоматической компоновки? У меня возник вопрос относительно этого http://stackoverflow.com/questions/41524154/dynamic-height-using-auto-layout-in-today-extension – netigger

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