Как показать ограниченные строки в разделе таблицы?

Если вы используете поиск Eclipse, вы можете включить опцию «DOTALL», чтобы сделать «.». сопоставить любой символ, включая разделители строк: просто добавьте «(? s)» в начале строки поиска. Пример:

(?s).*<FooBar>
-1
задан rmaddy 16 January 2019 в 14:21
поделиться

5 ответов

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int)

использовать раздел.

if section == 0 return 100 else if section == 1 return 10

0
ответ дан John Russel Usi 16 January 2019 в 14:21
поделиться

Пожалуйста, выполните следующие действия:

установите в глобальном:

var arrIndex = 10

Затем в

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return arrIndex

}

Затем добавьте кнопку внизу таблицы View. В действии кнопки напишите

 @objc func btnShowMoreClicked(sender : Any){
    arrIndex = arrIndex + 10
    self.tableView.reloadData()
 }

Это может вам помочь. Спасибо.

0
ответ дан Sanjukta 16 January 2019 в 14:21
поделиться

Вы можете управлять этими вещами, используя pageIndex, установить глобальную переменную var pageIndex:Int = 1 и нажать больше, чтобы увеличить pageIndex на 1 и перезагрузить UITableview

. Я написал эту логику для секции 0, изначально загружающей 10 записей,

Я добавил еще одну строку на +1 в этом утверждении return (10 * pageIndex) + 1, потому что +1 для кнопки «загрузить больше».

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {        
        if section == 0 {
            return (10 * pageIndex) + 1
        }else {
            return 10
        }
    }
0
ответ дан AtulParmar 16 January 2019 в 14:21
поделиться

Часть вашего вопроса:

раздел 1 содержит 800 многократно используемых ячеек

Похоже, у вас есть 800 строк в разделе 1 вместо 800 ячеек. После того, как вы отобразите табличное представление, оно создаст только те ячейки, которые могут быть отображены на экране, и будет использовать их, как только появятся новые данные.

Вам необходимо сделать следующее:

  1. Создать основной источник данных (скажем, массив), содержащий 800 строк. (скажем, allRows)
  2. Создайте другой источник, который содержит частичные данные из allRows. (скажем 'fetchedRows')
  3. Добавьте кнопку Load More в нижний колонтитул или в последний ряд.
  4. При нажатии «Load More» извлекает некоторое количество строк от allRows до fetchedRows. (скажем, 10 строк)
  5. Перезагрузить представление таблицы с использованием источника данных fetchedRows.
  6. Те же шаги можно выполнить и для раздела 2.
0
ответ дан NeverHopeless 16 January 2019 в 14:21
поделиться

Сначала установите глобальную переменную int:

@interface TableViewController () {

    int arrNum;
}

@end

@implementation TableViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    arrNum = 3;

}

Затем установите количество разделов:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return 2;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    if (section == 0){
        return arrNum;
    }else {
        return 5;
    }

}

Затем создайте кнопку в нижнем колонтитуле раздела:

-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {

    UIButton *btn = [[UIButton alloc]init];
    [btn setTitle:@"btn Click" forState:UIControlStateNormal];
    [btn setBackgroundColor:[UIColor blueColor]];
    [btn addTarget:self action:@selector(btnClk) forControlEvents:UIControlEventTouchDown];
    return btn;
}

Теперь установите необходимое действие при нажатии кнопки:

-(void)btnClk {

    arrNum = arrNum + 2;
    dispatch_async(dispatch_get_main_queue(), ^{
        [self.tableView reloadData];
    });

}
0
ответ дан BoSoud 16 January 2019 в 14:21
поделиться