2011-12-14 6 views
0

実行時にUIImageViewの位置を変更したいと思います。 IBでは、X座標を変更して再配置することができます。MonoTouch:実行時にコントロールの位置を変更する方法は?

imageView.Frame.X = 25; 

しかし、それは何の効果もありません。だから、私はこのコードを試してみました。どうして?私は他のコントロールにも同じ問題があります。それを動作させるには?

+1

この質問を確認する:http://stackoverflow.com/questions/5976717/monotouch-frame-dimensions-cant-be-set-directly –

答えて

3

フレームプロパティは値型であり、これはあなたがしなければ意味します値型では、完全に構築された型を割り当てる必要があります。例:

var current = imageView.Frame; current.X = 25; imageView.Frame = current;

+0

それは素晴らしいです。どうもありがとうございました! – newman

0

フレームプロパティは値型であり、これはあなたがしなければ意味:

imageView.Frame.X = 25

あなたが実際にやっていることです。

するvar温度= ImageViewの。フレーム; temp.X = 25;

値は決してimageViewに達しません。値型では、完全に構築された型を割り当てる必要があります。例:

var current = imageView.Frame; current.X = 25; imageView.Frame = current;あなたが実際にやっていること

imageView.Frame.X = 25 

は次のとおりです:

var temp = imageView.Frame; 
temp.X = 25; 

値はImageViewのに達することはありません。

0

//コードが説明非常に簡単かつ自己ある

dispatch_async(> dispatch_async(dispatch_get_main_queue()を使用してdispatch_get_main_queue()、^ {

self.myimageView.frame = CGRectMake(140, 70, 140, 128); 


}); 

、^ {Iが作っバックグラウンドではなくメインキューで実行するコード

関連する問題