2015-07-14 4 views
3

У меня есть UITableView, Каждая ячейка имеет вид, как показано ниже изображения, UIScrollView в фоне и другой взгляд на UIScrollView.UIView UIScrollView над предотвратить прокрутку

UIScrollView содержит несколько изображений и пользователь должен иметь возможность видеть их, проводя вправо или влево на ячейку таблицы, но, как второй View (красная зона) покрыта UIScrollView, скроллинг не работает, когда я красть мой палец в этой области , Но в верхней части красной области это нормально и прекрасно работает.

enter image description here

я вижу в другом приложении, которые имеют эту функцию, что скроллинг можно во весь рост клеток, даже если у них есть другие мнения, которые охватывали фон.

Буду признателен, если вы поделитесь своими предложениями со мной :)

+0

Вы добавили, что верхний вид в качестве подвидного в scrollView? –

+0

добавить код или использовать раскадровку? –

ответ

7

попробуйте отключить userInteraction на представлении в красной зоне, это позволит прикосновений пройти хотя она. это может быть сделано с помощью раскадровки, или просто пойти view.userInteractionEnabled = false

+0

Это сработало отлично :) Большое спасибо –

0

Держите эту строку кода в методе ViewDidLoad:

[self.view setExclusiveTouch:YES]; 

И если это не работает, добавьте его для Tableview

[tableView setExclusiveTouch:YES]; 

Или еще в конце вы можете добавить жестом салфетки в ячейку tableview и вызвать селектор и сделать то, что должно было быть сделано.

0

Добавить второй вид в качестве подвидности firstView или ScrollView.

[scrollView addSubview:firstView]; 
[firstView addSubview:secondView]; 
0

Для меня вопрос в том, что представление не было подвид из UIScrollView. Вы можете проверить это, установив контрольную точку где-то в вашем или родительский вид класса контроллера UIScrollView и введя в окне отладчика:

po myScrollView.subviews 

Затем проверьте вывод, чтобы убедиться, что ваш элемент находится внутри подвидов.

-1
view.userInteractionEnabled = NO 
+1

Хотя этот фрагмент кода может решить вопрос, [включая объяснение] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. – DimaSan