2011-12-14 3 views
0

Я хочу изменить местоположение UIImageView во время выполнения. В IB я могу изменить координату X, чтобы переместить ее. Итак, я пробовал этот код:MonoTouch: Как изменить местоположение элемента управления во время выполнения?

imageView.Frame.X = 25; 

Но это не имеет никакого эффекта. Зачем? У меня такая же проблема и для других элементов управления. Как заставить его работать?

+1

Проверьте этот вопрос: http://stackoverflow.com/questions/5976717/monotouch-frame-dimensions-cant-be-set-directly –

ответ

3

Свойство Рама представляет собой тип значения, это означает, что если вы делаете:

imageView.Frame.X = 25 

то, что вы на самом деле делаете:

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

значение никогда не достигает ImageView. С типами значений вы должны назначить полностью сконструированный тип, например:

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

+0

Отлично. Большое спасибо! – newman

0

Свойство Рама представляет собой тип значения, это означает, что если вы делаете:

imageView.Frame.X = 25

то, что вы на самом деле делаете:

вар Темп = ImageView. Рамка; temp.X = 25;

Значение никогда не достигает изображения. С типами значений вы должны назначить полностью сконструированный тип, например:

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

0

// Кодекс довольно прост и пояснительная

dispatch_async (dispatch_get_main_queue()^{

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


}); 

Используя> dispatch_async (dispatch_get_main_queue()^{Я сделал код для запуска в основной очереди, а не в фоновом режиме.

Смежные вопросы