2015-04-22 2 views
0

Я новичок в 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)]; 


} 
+1

где вы устанавливаете положение прокрутки? в вашем коде устанавливается только 'contentSize' (вы также должны установить' contentOffset') –

+0

Я просто хочу знать, как использовать contentOffset. Не могли бы вы помочь мне с некоторым кодом. @ Javito_009 – iPeter

+1

Вы можете использовать '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 :)). –

ответ

0

Вот пример кода для перемещения влево с contentOffset. Надеюсь, это поможет вам.

your_scroll.contentOffset = CGPointMake(-100.0, 0.0); 
Смежные вопросы