簡體   English   中英

在ScrollView中移動子視圖

[英]Moving subviews in ScrollView

所以我有一個滾動視圖,其他3個視圖作為子視圖。 使用滾動視圖在3個子視圖之間分頁,這些子視圖的控制器存儲在數組中。

- (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;
    }

如果以后我想用第一個在滾動視圖的中間切換視圖,我將如何處理而又不刪除所有滾動視圖子視圖並替換它們。

不進行替換就無法實現,但是您可以通過像這樣交換self.uiViewControllers數組中的對象來實現

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

然后,在交換對象之后,您可以遍歷整個數組來添加子視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM