2012-02-19 7 views
0

Я размещаю UIImageView внутри UIScrollView, основывая мой код на ответе in this question. Проблема, с которой я сталкиваюсь, заключается в том, что в нижней и правой частях есть значительное количество пробелов, и я не могу прокрутить некоторые изображения вверху и слева. Я полагаю, это связано с неправильной настройкой contentSize элемента scrollView. Вот соответствующий код:Правильное contentSize UIScrollView с UIImageView внутри него

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    _imageView.image = _image; 
    _imageView.bounds = CGRectMake(0, 0, _imageView.image.size.width,_imageView.image.size.height); 
    _scroller.contentSize = _imageView.image.size; 
} 

Контроллер вид Я в три свойства, UIScrollView (_scroller), UIImageView (_imageView) и UIImage (_image).

ответ

3

Вы устанавливаете свойство UIImageView bounds. Вместо этого вы хотите установить его свойство frame. Установка границ будет изменять его размер вокруг его центральной точки (при условии, что вы не изменили базовое свойство CALayeranchorPoint), что приводит к тому, что начало кадра отрицательно, поэтому вы не можете видеть верхний левый.

_imageView.frame = CGRectMake(0, 0, _imageView.image.size.width, _imageView.image.size.height); 

Альтернативный синтаксис:

_imageView.frame = (CGRect){CGPointZero, _imageView.image.size}; 
+0

Я думал кадр тем, что имеет преобразование применяется не определено, и UIScrollView применяет преобразование, чтобы увеличить? –

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