13

このコードを完了するにはどうすればよいですか? エラーが発生しています。

-(IBAction)dropDownBtn:(id)sender {

 dropDownBtn.transform = CGAffineTransformMakeRotation(720*M_PI/360);

if ([dropDownBtn.transform CGAffineTransformMakeRotation(720*M_PI/360)) {

    dropDownBtn.transform = CGAffineTransformMakeRotation(520*M_PI/360);
    }
}
4

4 に答える 4

30

変換を比較する関数があります。

CGAffineTransformEqualToTransform(transform1, transform2)
于 2013-10-25T07:10:00.417 に答える
2

Swift では、等号演算子 (==) を使用します。

transform1 == transform2
于 2016-10-04T15:45:47.580 に答える
1

与えられた精度での等価テストが必要な場合 (単体テストで役立ちます)、次の関数を使用します。

BOOL CGAffineTransformEqualToTransformWithAccuracy (CGAffineTransform firstTransform, CGAffineTransform secondTransform, CGFloat epsilon) {
    return (fabs(firstTransform.a - secondTransform.a) <= epsilon) &&
            (fabs(firstTransform.b - secondTransform.b) <= epsilon) &&
            (fabs(firstTransform.c - secondTransform.c) <= epsilon) &&
            (fabs(firstTransform.d - secondTransform.d) <= epsilon) &&
            (fabs(firstTransform.tx - secondTransform.tx) <= epsilon) &&
            (fabs(firstTransform.ty - secondTransform.ty) <= epsilon);
}
于 2014-10-27T14:41:41.200 に答える