簡體   English   中英

UIScrollView-如何在子視圖的第二頁上重新加載數據?

[英]UIScrollView - How to reload data on second page of subview?

我有一個scrollview,它設置為在2頁之間來回滾動。 每個頁面在同一視圖控制器上為標簽等使用不同的數據。

我需要在不退出“子”視圖的情況下重新加載每個頁面上的數據。

例如,我導航到滾動視圖中的頁面1。 我的網絡svc通過通知向我發送更新的數據。 我需要重新加載第2頁上的數據,同時仍坐在第1頁上...或者至少在我開始滾動到第2頁時立即重新加載該數據。

我希望這是有道理的。 提前致謝!

(摘自我的scrollView ..但我認為我需要在子視圖中添加一些內容。.?)

- (void)loadScrollViewWithPage:(int)page {
if (page < 0) return;
if (page >= kNumberOfPages) return;

if ([controllerName isEqualToString:@"ClassicViewController"]){
    ClassicViewController *controller = [viewControllers objectAtIndex:page];
    if ((NSNull *)controller == [NSNull null]) {

        controller = [[ClassicViewController alloc] initWithPageNumber:page];
        controller.referringObject = self.referringObject;
        controller.user = self.user;
        controller.pushedFromScroll = kTrue;
        controller.theirRoll = self.theirRoll;

         NSLog(@"page replaced # = %d", page);
        [viewControllers replaceObjectAtIndex:page withObject:controller];
        [controller release];
    }


    if (nil == controller.view.superview) {
        CGRect frame = scrollView.frame;
        frame.origin.x = frame.size.width * page;
        frame.origin.y = 0;
        controller.view.frame = frame;
        [scrollView addSubview:controller.view];
    }
}

}

您有一些選擇,但是我認為,如果您的數據正在發布已更新的通知,則應該讓每個頁面的視圖控制器負責更新其視圖的元素。 所以-

  1. 讓每個視圖控制器訂閱您使用NSNotificationCenteraddObserver:selector:name:objet方法描述的通知。
  2. 實現通知處理程序,該通知處理程序將其選擇器傳遞給addObserver...以根據更改更新視圖。

希望這可以幫助!

暫無
暫無

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

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