Я новичок в iOS. Я создаю базовый проект, в котором у меня есть два контроллера вида. Первый, названный tabViewController, а второй - как detailViewController. в tabViewController У меня есть collectionView. Когда я нажимаю на ячейку коллекции, он нажимает на подробный контроллер представления. В подробном диспетчере просмотра есть три вида изображения. Один находится прямо перед экраном (x = 0, y = 0, width = 320, height = 420). Остальные два изображения выглядят в позициях слева и справа от той, которая находится перед экраном. Два изображения имеют позиции в виде x = -330, y = 0, width = 320, height = 420 и x = 330, y = 0, width = 320, height = 420. Подумайте о iPhone5.Не удалось установить позицию scrollview
Теперь проблема заключается в том, что я не могу заставить положение scrollView видеть изображение, которое находится в левой части экрана.
Код я написал
- (void)viewDidLoad {
[super viewDidLoad];
_myScrollView.delegate = self;
_myScrollView.pagingEnabled = YES;
_selectedImageString = [_patternArray objectAtIndex:*(_selectedIndex)];
_strImageNext = [_patternArray objectAtIndex:*(_selectedIndex)+1];
_myScrollView.bounds = CGRectMake(_myImageView2.frame.origin.x, _myScrollView.frame.origin.y, _myScrollView.frame.size.width, _myScrollView.frame.size.height);
if (*(_selectedIndex) == 0) {
_strImagePrevious = nil;
}
else{
_strImagePrevious = [_patternArray objectAtIndex:*(_selectedIndex)-1];
}
self.navigationController.navigationBar.hidden = NO;
_myImageView.image = [UIImage imageNamed:_selectedImageString];
_myImageView.frame = CGRectMake(_myScrollView.frame.origin.x, _myScrollView.frame.origin.y, _myScrollView.frame.size.width, _myScrollView.frame.size.height);
self.myScrollView.backgroundColor = [UIColor yellowColor];
_myImageView3.image = [UIImage imageNamed:_strImageNext];
if (*(_selectedIndex) == 0) {
_myImageView2.image = nil;
}
else {
_myImageView2.image = [UIImage imageNamed:_strImagePrevious];
}
[_myScrollView setScrollEnabled:YES];
[_myScrollView setContentSize:CGSizeMake((_myImageView2.frame.size.width+_myImageView2.frame.size.width+_myImageView2.frame.size.width+_myImageView.frame.size.width+ 30.0), _myScrollView.frame.size.height)];
}
где вы устанавливаете положение прокрутки? в вашем коде устанавливается только 'contentSize' (вы также должны установить' contentOffset') –
Я просто хочу знать, как использовать contentOffset. Не могли бы вы помочь мне с некоторым кодом. @ Javito_009 – iPeter
Вы можете использовать 'setContentOffset: анимированный:' метод и передать 'CGPointMake (x, y)' где 'x' и 'y' - это координаты, соответствующие точке, которую вы хотите видеть в верхнем левом углу scrollView (doc: [link] (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIScrollView_Class/#//apple_ref/occ/instm/UIScrollView/setContentOffset:animated :)). –