2016-10-23 7 views
-1

このタイプの質問は以前に尋ねられましたが、私の問題を解決することはできません。NCWidgetDisplayModeがiOS 10の.expandedに設定されていません

今日の拡張機能の高さを可変にしたいと考えています。関連する記事で提案されているように、私は以下のコードが含まれている。このため

私は直面しています問題でも、プロトコル方式 widgetActiveDisplayModeDidChangeが、それを呼ばれたとき、 viewDidLoad.expandedwidgetLargestAvailableDisplayModeを設定した後、ある
override func viewDidLoad() 
    { 
     super.viewDidLoad() 

     if #available(iOSApplicationExtension 10.0, *) 
     { 
      self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded 
     } 
     else 
     { 
      // Fallback on earlier versions 
     } 
    } 

@available(iOSApplicationExtension 10.0, *) 
    func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) 
    { 
     if activeDisplayMode == .expanded 
     { 
      preferredContentSize = CGSize(width: 0.0, height: 200.0) 
     } 
     else 
     { 
      preferredContentSize = maxSize 
     } 
    } 

まだactiveDisplayMode.compactとしています。

iOS 10でウィジェットを正しく機能させるには、他に何が必要ですか?

答えて

0

私はそれを理解しました。ウィジェットが最初にロードされたときに

は実際には、compactモードのデフォルトであるので、widgetActiveDisplayModeDidChange.compactとしてactiveDisplayModeと呼ばれています。ロードした後

  1. をもっとボタンを押すと表示すると、widgetActiveDisplayModeDidChange.expandedとしてactiveDisplayModeと呼ばれています。

  2. ショー少ないボタンを押すと、widgetActiveDisplayModeDidChange.compactとしてactiveDisplayModeと呼ばれています。

関連する問題