2013-10-09 3 views
0

Итак, у меня есть прокрутка с тремя другими видами в виде подзонов. Использование прокрутки на странице между 3-мя подзонами, в которых их контроллеры хранятся в массиве.Перемещение подзаголовков в ScrollView

- (void)viewDidLoad 
{ 
    [self loadData]; 

    self.uiScrollView = [[UIScrollView alloc] initWithFrame:self.view.frame]; 
    [self.uiScrollView setPagingEnabled:YES]; 
    [self.uiScrollView setContentSize:CGSizeMake(self.view.frame.size.width*3, self.view.frame.size.height)]; 

    self.uiScrollView.delegate = self; 


    [self.view addSubview:self.uiScrollView]; 

    self.uiPhotoCollectionViewControllers = [[NSMutableArray alloc] init]; 
    int numberOfOtherViews = 3; 
    int subViewOffset = 0; 

    for (int i = 0; i < numberOfCollectionViews; i++) 
    { 
     UIViewController* uiViewController = [[UIPhotoCollectionViewController alloc] initWithData:dataArray]; 
     // add offset to the view of the controller 
     [self.uiScrollView addSubview:uiViewController.view]; 
     [self.uiViewControllers addObject:uiViewController]; 
     uiViewController.view.frame = CGRectOffset(uiViewController.view.frame,subViewOffset,0.0f); 
     subViewOffset = subViewOffset + uiViewController.view.frame.size.width; 
    } 

Если позже я хотел переключить вид в середине зрения прокрутки с первым, как бы я идти об этом, не снимая все Teh просмотр прокрутки подвидов и заменяя их.

ответ

0

Не возможно без замены, но вы можете сделать это swaping объекты в массиве self.uiViewControllers как этот

[scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]; 

, а затем после того, как swaping объекты, которые вы можете добавить подвид, пересекая весь массив.

+1

Я пробовал это сделать. Может, я где-то ошибся. Я только что добавил их как subviews после удаления, и я переключил контроллеры в свой массив контроллеров, используя метод exchangeObjectAtIndex. Это имеет смысл? – Shawn

+0

просто замените их перед добавлением их в качестве подвью, а не после добавления их в качестве subview –

+0

Я создал отдельный метод для их обмена в массиве контроллеров, а затем вызвал другой метод, который повторно добавляет их в качестве подзонов для прокрутки. Это вы имеете в виду Gangan? – Shawn

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