iphone - CGAfflineTransform UIView 和 CoreGraphics 冲突

标签 iphone objective-c ios core-animation core-graphics

我在我的应用程序中同时使用了 UIView 和 CoreGraphics 动画,但是当我编译时,以下行给我错误:

CGAffineTransform *baseDockTransform = (CGAfflineTransform *)[[[%c(SBIconController) sharedInstance] dock] transform];

错误日志如下:

Tweak.xm:156: 警告:发现多个名为“-transform”的方法 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:156: 警告:使用‘-(CGAffineTransform)transform’ /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:153: 警告:还发现‘-(CATransform3D)transform’ Tweak.xm:156: 错误:没有匹配函数来调用‘UIView::UIView(CGAffineTransform)’

编译器不知道使用哪种方法。我怎样才能解决这个问题?

谢谢

最佳答案

确保正确转换所有内容。 [object dock] 可能会返回一个对象,您可以从中调用 transform,但除非您正确地转换它,否则编译器会报错。

尝试:

Instance *sbInstance = [%c(SBIconController) sharedInstance];
UIView *transformedView = [sbInstance dock]; // assuming that dock returns an instance of UIView
CGAffineTransform backDockTransform = transformView.transform;

以这种方式做事不会有太多开销,而且更容易阅读正在发生的事情。

关于iphone - CGAfflineTransform UIView 和 CoreGraphics 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9605140/

相关文章:

ios - 从 ViewController 导航到 RootViewController,主导航选项卡完好无损

ios - 滑出式菜单 VC 黑屏

iphone - 如何检查 iPhone 设备上已安装的应用程序

iphone - iOS GM GridView 如何重用GM GridView Cell 单元格?

objective-c - 如何将 block 的结果模拟为方法参数?

ios - 导航栏标题和导航按钮未出现在 iOS 11 上

iphone - 将 NSURLCredentialStorage 与同步 NSURLConnection 结合使用

c# - Monotouch 事件

ios - 拼贴应用程序的自定义 UIView

ios - 如何使用 [camera takePhoto] 并使用 UIImagePicker 进行编辑 - UIImagePickerController.allowsEditing = YES