Обновление высоты строки и предотвращение вызова выбранной строки при нажатии UILabel на строке TabelView - PullRequest
0 голосов
/ 16 марта 2020

У меня есть TableView с UILabel на каждой строке (скажем, заголовок строки), я хочу добавить действие к заголовку строки (UILabel) на строке TableView для обновления строк RowTitleLabel при нажатии, поэтому я добавляю UITapGestureRecognizer в UILabel. Итак, это фрагмент моего кода:

  UITapGestureRecognizer rowTitleTapGesture = new UITapGestureRecognizer();

  rowTitleTapGesture.AddTarget(() =>
  {
       NSIndexPath[] _visibleRowIndexPathArr = m_tableView.IndexPathsForVisibleRows;
       m_tableView.BeginUpdates();
       Console.WriteLine("CurrentLines: " + cell.RowTitleLabel.Lines);
       if (cell.RowTitleLabel.Lines == cell.DefaultRowTitleLabelLines)
       {
            cell.RowTitleLabel.Lines = cell.NeededRowTitleLabelLines;
       }
       else
       {
            cell.RowTitleLabel.Lines = cell.DefaultRowTitleLabelLines;
       }
       m_tableView.ReloadRows(_visibleRowIndexPathArr, UITableViewRowAnimation.Automatic);
       m_tableView.EndUpdates();
  });

  cell.RowTitleLabel.UserInteractionEnabled = true;
  cell.RowTitleLabel.AddGestureRecognizer(rowTitleTapGesture);

Но почему-то строки RowTitleLabel не обновляются при первом щелчке, а обновляются после двухкратного щелчка. И еще как-то вызывается RowSelected, я не хочу вызывать RowSelected, так как у меня есть другое действие, когда пользователь выбирает строку. Кто-нибудь может помочь мне найти решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...