2016-09-23 43 views
1

當我改變顯示模式時,我正努力爲今天擴展設置動畫高度。我有以下代碼:iOS 10今天在顯示模式改變時擴展動畫高度

- (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode 
         withMaximumSize:(CGSize)maxSize 
{ 
    if (activeDisplayMode == NCWidgetDisplayModeCompact) { 
     self.preferredContentSize = maxSize; 
    } 
    else { 
     self.preferredContentSize = CGSizeMake(0, 165); 
    } 
} 

它的工作原理,widget的但高度不是動畫,它只是捕捉到了新的高度。我應該如何去做這件事?

+0

我在模擬器上測試時有同樣的問題(沒有動畫,它只是跳了),但在設備上它正確動畫。你是否也在模擬器中測試了這個? – Steven

回答

-1

覆蓋下面的方法,並使用協調動畫更新

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) 
+0

你是說他不應該在widgetActiveDisplayModeDidChange中設置preferredContentSize:withMaximumSize:並等到viewWillTransitionToSize?但是如果preferredContentSize沒有設置,viewWillTransitionToSize會被調用嗎? –