2013-11-12 5 views
1

Я пытаюсь добавить UIImageView в UIView, который я создал. Однако положение изображения слишком мало внутри UIView, хотя я устанавливаю рамки равными. UIView называется PhotoView, вот что я сделал:UIImageView полностью неправильная позиция в UIView

UIImageView *imgV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image1.JPG"]]; 
imgV.frame = self.photoView.frame; 
[self.photoView addSubview:imgV]; 

Вы можете увидеть результат (и положение PhotoView в раскадровке) здесь: enter image description here

Я понятия не имею, как это исправить это, добавление

imgV.center = self.photoView.center; 
imgV.contentMode = UIViewContentModeScaleToFill; 

не помогает.

+2

Try 'imgV.frame = self.photoView.bounds;' , – rmaddy

+0

Почему бы не добавить UIImageView в раскадровку, а не создавать ее во время выполнения? Вы всегда можете установить свойство изображения во время выполнения без необходимости создания нового UIImageView. – lintmachine

+0

Спасибо, это более элегантно (выглядит), чем решение, которое я только что нашел! – freda42

ответ

0

Ничего, я нашел ответ, но я оставлю это здесь, если у кого-то еще есть этот вопрос.

Ошибка была связана с изменением рамки. This is where I found my answer.

Мое решение было это:

[imgV setFrame:CGRectInset(self.photoView.bounds, 0, 0)]; 
+1

Это слишком много, потому что у вас нет вставки. Просто сделайте так, как я предложил в своем комментарии: 'imvv.frame = self.photoView.bounds;'. – rmaddy

1

Попробуйте это:

imgV.frame = self.photoView.bounds; 

вместо этого:

imgV.frame = self.photoView.frame; 
Смежные вопросы