2011-01-11 7 views
0

ユーザーがクリックしたときに画面からスライドしたい画像をフルスクリーンボタン(私はIBに配置しました)を持っています。私は、ボタンがクリックされたときに何かを記録できるので、接続が正常であることを知っています。しかし、UIViewsとUIImageViewsを移動するために私が以前使用したこのコードは機能しません。ココアタッチ:アニメーションボタンon

-(void) movePatch : (id) sender { 

    mainImg =[[UIButton alloc] init]; 

//firing up animation 
[UIView beginAnimations: nil context: NULL]; 
//setting animation speed 
[UIView setAnimationDuration:2.0 ]; 

[mainImg setFrame:CGRectMake (-320.0, 0.0, 320.0, 480.0)]; 

//running animations 
[UIView commitAnimations]; 

//release mainImg 
[mainImg release]; 
} 

答えて

1

これがすべてのコードの場合は、考慮する必要があります。

  1. (不適切と命名され、それがボタンをあるbecuase)mainImgビューに配置されていない([self.viewのaddSubview:mainImg])私はあなたが解放しなければならないとは思わない

  2. コミットした直後。私はあなたがアニメーションの "didStopSelector"でこれを行うべきだと思うので、それをivarにしてください。

+0

ありがとうMiRAGe。ボタンはIBと私の.hファイルにIBOutlet NSButton * mainImgとして追加されましたが、提案したとおりにビューに追加する必要がありますか? CAがその場所を移動する機会がある前に、それを破棄していると思いますか? (名前がわからないのは分かっていますが、何が最善のものかを知るためにさまざまなシナリオを作っていて、名前を変更するのに疲れました)。 – PruitIgoe

+0

IBOutletとして持っている場合は、その関数で作成して破棄しないでください。そのコードなしで動作するはずです。 deallocまたはviewDidUnloadで解放します。 – Jake

関連する問題