我的代码以前很好,但它提示我:
cannot find protocol declaration for 'CAAnimationDelegate';did you mean 'UIApplicationDelegate'?
Run Code Online (Sandbox Code Playgroud)
我今天跑的时候.
我尝试过导入QuartzCore/CAAnimation.h但不起作用.
Jos*_*phH 20
CAAnimationDelegate是iOS 10 SDK中添加的新协议.这意味着如果你使用Xcode 8构建它就在那里,但如果你使用Xcode 7构建则不存在.
使用Xcode 8构建时,您会收到警告:
Assigning to 'id<CAAnimationDelegate> _Nullable' from incompatible type 'WhateverUIViewController *const __strong'
Run Code Online (Sandbox Code Playgroud)
如果添加CAAnimationDelegate,则代码将不再构建在Xcode 7中.如果你需要使用两个Xcode构建,你需要使用ifdefs:
#if __IPHONE_OS_VERSION_MAX_ALLOWED < 100000
// CAAnimationDelegate is not available before iOS 10 SDK
@interface WhateverUIViewController ()
#else
@interface WhateverUIViewController () <CAAnimationDelegate>
#endif
Run Code Online (Sandbox Code Playgroud)
CAAnimationDelegate不是一个协议。无需告诉您的类将实现CAAnimationDelegate。
首先,您需要导入QuartzCore/QuartzCore.h。然后,您只需将您的类(您想要在其中实现动画委托方法)对象作为委托传递给您的CAAnimation对象。它会在开始动画时自动调用animationDidStart方法,并在完成动画时自动调用animationDidStop方法。
| 归档时间: |
|
| 查看次数: |
4126 次 |
| 最近记录: |