Когда я затрагиваю (Исправляют) UITableViewCell метод UITableViewDelegate моего ViewController - (пустой) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *), indexPath называют. Я должен получить x-координату Точки соприкосновения в это время также так, чтобы я мог знать, какая часть Ячейки была затронута (невспомогательный объекты). Я попытался использовать обычные сенсорные методы, такие как TouchesDidEnd, но координаты всегда возвращают x=0.000 y=0.000, неважно, где я затронул (Местоположение в пользовательском UITableViewCell в объекте UITableView в моем ViewController). Я также пытался реализовать сенсорную обработку из Пользовательского класса Ячейки и в то время как я МОГ получить точные координаты увы, я не мог найти способ передать те координаты к моему классу ViewController (который имеет UITableView).
Q: Существует ли хороший способ, которым я могу получить x-координаты экрана устройства, когда я касаюсь пользовательского UITableViewCell?
Поместите прозрачный UIView
на вид таблицы, переопределите его -touchesBegan:withEvent:
и т.д. методы. В этих переопределенных методах получите объекты UITouch
и вызовите -locationInView:
на них, чтобы получить значения CGPoint
.
Это даст вам координаты сенсорного события.
Затем вы просто передаете эти события UITouch
в представление таблицы. Представление таблицы обрабатывает свое обычное дело передачи касаний к строкам и т.д.