0

ビューが 1 つあり、このビューには UIImageView と UILabel が 1 つあります。ビューを回転すると、ビューの半分が消えます。

これは私のコードです

viewToAnimate は、画像とラベルを含むビューです。

CATransform3D _3Dt = CATransform3DRotate(viewToAnimate.layer.transform, DEGREES_TO_RADIANS(beginValue), 0.0, 1.0, 0);
_3Dt.m34 = 1.0 / -300;

viewToAnimate.layer.transform = _3Dt;

CATransform3D _scale;

if (needZoom) {
    _scale = CATransform3DScale(viewToAnimate.layer.transform , 1+scale, 1+scale, 1+scale);

    if (_scale.m11 > 1) {
        _scale.m11 = 1;
        _scale.m22 = 1;
        _scale.m33 = 1;
    }
}
else  {
    _scale = CATransform3DScale(viewToAnimate.layer.transform , 1-scale, 1-scale, 1-scale);
}

viewToAnimate.layer.transform = _scale;
//viewToAnimate.layer.zPosition = sin(DEGREES_TO_RADIANS(beginValue)*MOSAIC_WIDTH)+1;
4

2 に答える 2

3

DEGREES_TO_RADIANSの値は何ですか?たまたまM_PI/2ですか?コードは、y軸を中心に回転していることを示しています。最初の行の最後の3つのパラメーターを参照してください。

0.0, 1.0, 0

これを提供している場合、これは予想される動作です。自分に面している平面を考えて、y軸を中心に+/- 90度回転すると、確実に消えます。

于 2013-01-28T13:44:15.547 に答える
1

他の回答に関するディエゴのコメントで述べたように、これは zPosition の問題が原因である可能性があります。ビューの zPosition をより高い値に設定して、ビューを他のすべてのビューよりも高くします。

于 2015-08-07T07:40:13.020 に答える