2016-09-22 22 views
0

私の問題は、拡張機能全体を表示する方法を理解できないことです。これは、4行を表示する必要がありますが、それはいつものようにカットする:私はshouldnということをイライラ何今日拡張機能AutoLayoutが機能しない

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

を:私はいくつかのスレッドを読んで、preferredContentSizeを試みたが、それは動作しません。どちらか

Cut off Today extension

私は自動レイアウトの制約を設定しているので、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

おかげで、これは働いていました。 "Show More"/"Show Less"を使用するように強制しますが、私はその作業を行うことができます。 –

+0

私と同じですが、もっと知っていても知っていなくてもいいのですが、どうしてですか? – maddy

+0

これは本当に問題を解決しますか?これは静的な高さ200を作成します、あなたはそれが自動レイアウトで自動的に調整されることを望みませんか?私はこれに関する質問があるhttp://stackoverflow.com/questions/41524154/dynamic-heightusing-auto-layout-in-today-extension – netigger

関連する問題