2016-06-30 20 views
3

AppleのサンプルCustom View Controller Presentations and Transitions(特にAAPLCustomPresentationController)をSwiftに翻訳していますが、問題に遭遇しました。彼らはスウィフト(3.0)ではSwiftのUIContentContainerがViewContollerであることを確認してください

- (void)preferredContentSizeDidChangeForChildContentContainer:(id<UIContentContainer>)container 
{ 
    [super preferredContentSizeDidChangeForChildContentContainer:container]; 

    if (container == self.presentedViewController) 
     [self.containerView setNeedsLayout]; 
} 

をチェックし、そのpreferredContentSizeDidChangeForChildContentContainer方式(ライン190)で

は、私が

if container == (self.presentedViewController as UIContentContainer) 

を試してみました。しかし、私はエラー

二項演算子」を取得します== 'は2つの' UIContentContainer 'オペランドに適用できません

このチェックはSwiftでどうやって行えますか?

+0

あなたは== –

答えて

3

両方のオブジェクトがUIViewControllerの場合は、比較する前にその型としてキャストしてください。

if presentedViewController as? UIViewController == container as? UIViewController { 
    // true 
} 
+0

感謝を使用することはできませんので、 'UIContentContainer'プロトコルは、Equatable'プロトコル'に準拠していません!少し脳のおならがあった。 – jjatie

関連する問題