簡體   English   中英

首次加載時隱藏UITableView的部分

[英]Hide section for UITableView on first load

我有一個UITableView有2個部分(第一個用於過濾器,第二個用於數據)。

我想在加載視圖時隱藏第1部分。

只有當我滾動到頂部時,該部分才會出現。

我使用scrollToRowAtIndexPath:測試scrollToRowAtIndexPath:但結果不符合預期。

請幫忙。 謝謝。

您可以添加BOOL變量以確定它是否是第一次加載。 viewDidLoad中將其設置為true,如:

- (void)viewDidLoad
{
    [super viewDidLoad];

    isFirstTimeLoading = YES;

}

然后在你的numberOfSectionsInTableView: delegate方法中,

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    if (isFirstTimeLoading)  {
        return 1;
    } else {
        return 2;
    }

}

可以使用TableView滾動到頂部

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

在此方法中,檢查行是否為頂行。 如果是,則將isFirstTimeLoading設為NO並重新加載數據。 如果有必要,也不要忘記更改數據。

  • 獲取BOOL變量以檢查是加載一個部分還是兩個部分。
  • 在ViewDidLoad中Make為YES ,這是UITableView第一次加載一個部分。
  • 然后,當UITableView將滾動到頂部時,將該BOOL變量設置為NO
 - (void)viewDidLoad { [super viewDidLoad]; isFirstTime = YES; } 
  • 在TableView的datasource方法中
 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ if (isFirstTime) { return 1; } return 2; } 
  • 要檢查UITableView以滾動TOP.We將使用UIScrollview委托方法.UITableView是UIScrollview的子類。
 -(void)scrollViewDidScroll:(UITableView *)tableView{ CGFloat content_Offset = tableView.contentOffset.y; if (content_Offset >= 0 && isFirstTime){ //UITableview is scrolled to top isFirstTime = NO; [self.myTbaleView reloadData]; }else if (content_Offset<0) { //UITableview is draged down } 

}

暫無
暫無

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

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