У меня есть 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, так как у меня есть другое действие, когда пользователь выбирает строку. Кто-нибудь может помочь мне найти решение?