2009-09-01 5 views
0

私はIBで作成したUIImageViewオブジェクトを持っていて、コンセントを持っています。私はそれを移動するが、唯一のy値を変更したいので、私は持っている:これが実行されるとUIView.frameを再作成して移動する

CGFloat x, w, h; 
x = image.frame.origin.x; 
w = image.frame.size.width; 
h = image.frame.size.height; 
image.frame = CGRectMake(x, /*formula to figure out new y value*/, w, h); 

、イメージは単に消えます。もう一度表示させるために何かコードを実行する必要がありますか?私はこの方法を使って、iPodを回転させて新しい位置に物を完全に移動させていました。

NSLog()を使用して、私はそれが取得しているy値が正しいことを知っていて、画面外ではありません。

答えて

1

上記のコードは問題ないと思われます。あなたは値をまだ期待していることを確認するためにそれをリセットしたらUIViewからフレームを取り戻そうとしましたか?また、このUIView(フレーム、不透明度、サイズなど)の状態を変更しているアプリ内の他の場所にコードがありますか?

+0

2009-09-01 15:03:34.382レース[58638:20b]場所:248.000000,4294967296.000000,60.000000,720.000000 ああ...間違ったタイプです。どうやって型変換するのですか?このように:? (CGFloat)(yの値) –

+0

これを試して、それでも間違った値を与えました。 –

+0

結果(4294967296)に基づいて、yを計算するための式に符号付き/符号なしのキャスティングの問題があるように見えます。 – fbrereto

関連する問題