我的代码用于翻译和缩放用于工作的按钮。
不知怎的,Xcode现在发出警告:Implicit declaration of function 'CGAffineTransformMakeScale' is invalid in C99.
以及语义问题:Initializing 'CGAffineTransform' (aka 'struct CGAffineTransform') with an expression of incompatible type 'int'
以下代码可能出现什么问题?
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
CGAffineTransform scaleTrans = CGAffineTransformMakeScale(1.0f, 1.0f);//This is where both, the warning and error occur.
CGAffineTransform xTrans = CGAffineTransformMakeTranslation(650.0f,0.0f);
Button.transform = CGAffineTransformConcat(scaleTrans, xTrans);//combine translation & scale
答案 0 :(得分:1)
问题是编译器无法找到声明CGAffineTransformMake
的位置,因此它认为您正在方法的中间创建一个新函数(不允许)。此外,因为它无法找到CGAffineTransformMakeScale
的定义,所以它会假定它返回int
,而不是CGAffineTransform
。问题可能是您没有将QuartzCore
框架与您的项目相关联,或者您没有在使用<QuartzCore/QuartzCore.h>
的文件中导入CAAffineTransformMake
。
答案 1 :(得分:0)
Xcode 6 beta 3解决了这个问题。