Как я могу получить высоту определенной строки в UITableView В моем UITableView я установил разные высоты для разных строк, используя метод делегата: tableView:heightForRowAtIndexPath: Теперь, учитывая NSIndexPath, я хотел бы получить высоту, которую я ранее назначил для определенной строки. Ответ 1 Вы можете использовать этот CGRect frame = [tableView rectForRowAtIndexPath:indexPath]; NSLog(@"row height : %f", frame.size.height); Используя frame.size.height, вы можете получить высоту определенной строки Swift 3 let frame = tableView.rectForRow(at: indexPath) print(frame.size.height) Ответ 2 Просто используйте Tableview: heightForRowAtIndexPath Метод int row = 1; int section = 0; NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:section]; float height = [self tableView:tableView heightForRowAtIndexPath:indexPath]; Надеюсь, что эта помощь поможет вам:) Ответ 3 -(CGFloat)getHeightAtIndexPath:(NSIndexPath *)indexPath{ if(indexPath.row == 0) return 20.0; else if(indexPath.row == 4) return 40.0; return 50.0; //Default } Вызвать вышеуказанную функцию в tableView:heightForRowAtIndexPath: как return [self getHeightAtIndexPath:indexPath]; И вы можете использовать одну и ту же функцию, нажав кнопку нажатия кнопки кнопки внутри конкретной ячейки, имея button.tag=indexPath.row -(IBAction)btnClick:(id)sender{ UIButton *btn=(UIButton *)sender; NSIndexPath *indexPath=[NSIndexPath indexPathForRow:btn.tag inSection:0]; CGFloat height=[self getHeightAtIndexPath:indexPath]; } Ответ 4 let height = super.tableView(tableView, heightForRowAt: indexPath)
Ответ 1 Вы можете использовать этот CGRect frame = [tableView rectForRowAtIndexPath:indexPath]; NSLog(@"row height : %f", frame.size.height); Используя frame.size.height, вы можете получить высоту определенной строки Swift 3 let frame = tableView.rectForRow(at: indexPath) print(frame.size.height)
Ответ 2 Просто используйте Tableview: heightForRowAtIndexPath Метод int row = 1; int section = 0; NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row inSection:section]; float height = [self tableView:tableView heightForRowAtIndexPath:indexPath]; Надеюсь, что эта помощь поможет вам:)
Ответ 3 -(CGFloat)getHeightAtIndexPath:(NSIndexPath *)indexPath{ if(indexPath.row == 0) return 20.0; else if(indexPath.row == 4) return 40.0; return 50.0; //Default } Вызвать вышеуказанную функцию в tableView:heightForRowAtIndexPath: как return [self getHeightAtIndexPath:indexPath]; И вы можете использовать одну и ту же функцию, нажав кнопку нажатия кнопки кнопки внутри конкретной ячейки, имея button.tag=indexPath.row -(IBAction)btnClick:(id)sender{ UIButton *btn=(UIButton *)sender; NSIndexPath *indexPath=[NSIndexPath indexPathForRow:btn.tag inSection:0]; CGFloat height=[self getHeightAtIndexPath:indexPath]; }