我的UITextView
中有一个UIScrollView
。 Scrollview
包含图像并水平滚动。 Textview
被添加为子视图并包含一些文本。有时文本很长,所以我希望textview可以滚动。这是我的工作:
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(260, 490, 280, 86)];
[textView setBackgroundColor:[UIColor colorWithRed:63.0f/255.0f green:154/255.0f blue:201/255.0f alpha:1.0f]];
[textView setTextColor:[UIColor whiteColor]];
[textView setFont:[UIFont fontWithName:@"Helvetica" size:14.0]];
[textView setScrollEnabled:YES];
[textView setUserInteractionEnabled:YES];
[textView setContentSize:CGSizeMake(280, 400)];
问题是,我无法滚动。
滚动视图可以吃掉我的触摸吗?什么是干净的解决方案?
答案 0 :(得分:1)
UIScrollViews有一个名为delaysContentTouches
的bolean属性。默认情况下,它设置为YES
- 它告诉滚动视图延迟将触摸事件传递给其子视图。
这就是目前您的文本视图不滚动的原因。如果您将delaysContentTouches
设置为NO
,则希望您的文字视图现在正常运行。
答案 1 :(得分:0)
我将仅限水平的UISCrollView放在仅垂直的UIScrollView中。这很好。但是如果父级和子级UISCrollView都支持向同一方向滚动,我可以看出这是一个问题。您可能需要对UIScrollView进行子类化并覆盖触摸事件并适当地调度它们(根据您想要发生的事情,触摸的位置等对父母或孩子进行调度)