我在我的应用程序中同时使用了 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/