У меня есть UISlider в представлении, в типичном подробном контроллере представления. Когда я касаюсь ползунка, я могу перетащить его влево, а после того, как я перетащу его влево, я могу продолжать перетаскивать его, куда захочу, но когда я перетаскиваю его вправо, он перемещается на несколько пикселей, а затем перетаскивание останавливается.
Я читал в UISlider перемещается только на небольшое расстояние, что это может быть связано с жестом распознаватели, но у меня нет активных распознавателей в этом представлении. Я пытался временно удалить любой распознаватель, который может мешать, но это не помогло.
У меня нет примера кода для включения, потому что в случае, с которым у меня возникли проблемы, действительно не так много кода. У меня есть подкласс UIViewController, на котором есть UISlider, и у меня есть действие, сгенерированное IB, для события «Value Changed». Это срабатывает, и, как я уже сказал, я могу перетаскивать ползунок влево, но не вправо.
Я попытался изменить действие, поэтому все, что он делает, это значение ползунка NSLog, и это не помогает.
Я предполагаю, что проблема заключается в некотором взаимодействии с чем-то еще в приложении, над которым я работаю, но я не уверен, где искать. Я ищу некоторые идеи относительно того, что может быть причиной этого.
Обновить
Итак, я нашел проблему. Это ошибка в iOS 5.1, описанная в 5.1 Жест смахивания перехватывается UISplitViewController — как избежать?.
Я отследил это, перечислив все распознаватели жестов (путем обхода иерархии представлений от self.view.window и сброса их), а затем выборочно удалив их, а затем погуглив тот, который в конечном итоге вызвал проблему. Боль в ягодицах. Оставь это здесь для следующей жертвы.