ios - 如何一次将事件从外滚动传递到内滚动
<p><p>我有两个 ScrollView ,即一个在另一个里面,
-外卷轴
----InnerScroll</p>
<p>当outer ScrollView达到contentOffSet值大于300时,需要Outer scrollView自动停止,inner在单次滚动中启动。</p>
<p>到目前为止..</p>
<pre><code>-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
;
if (scrollView ==scrollSuperView)
{
if (scrollView.contentOffset.y>300) {
;
}else if (scrollView.contentOffset.y<10){
;
}
}
}
</code></pre>
<p>顺便说一下scrollSuperView 是outerScroll 而scrollContentView 是inner。
任何帮助表示赞赏。</p>
<p>1.scrollSuperView(外)
帧 = CGRect(0, 0, 320, 468)
contentSize = CGSizeMake(320, 600)</p>
<p>2.scrollContentView(内部)
帧 = CGRect(0, 300, 320, 468)
contentSize = CGSizeMake(320, 600)</p>
<p>所以我有上面提到的两个 ScrollView ,外部和内部
一旦外部 scrollView 达到 >300 的内容偏移量,如果用户通过将手指放在内部 ScrollView 上进行滚动,则 scrollEvent 会被传递给内部 ScrollView..</p>
<p>希望现在更清楚。 </p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>将外部 <code>scrollView</code> 的 <code>delaysContentTouches</code> 设置为 <code>NO</code> 会将触摸事件从外部 <code>scrollView</code> 传递到内部 <code>scrollView</code>... "<em>一步到位</em>"</p>
<pre><code>-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView == scrollSuperView) {
//outer scrollView
if (scrollView.contentOffset.y >= 300) {
//NSLog(@"Outer scrollView ContentOffset has reached 300");
;
;
}
}
else if (scrollView == scrollContentView) {
//inner scrollView
if (scrollView.contentOffset.y == 0) {
//NSLog(@"Inner scrollView ContentOffset has reached 0");
;
;
}
}
}
</code></pre>
<hr/>
<p>假设:</p>
<ol>
<li><code>scrollSuperView</code> (<em>外部</em>)
<ul>
<li>frame = CGRect(0, 0, 320, 300)</li>
<li>contentSize = CGSizeMake(320, 600)</li>
<li>delaysContentTouches = YES</li>
<li>scrollEnabled = 是</li>
</ul></li>
<li><code>scrollContentView</code> (<em>内部</em>)
<ul>
<li>frame = CGRect(0, 400, 320, 200)</li>
<li>contentSize = CGSizeMake(320, 400)</li>
<li>delaysContentTouches = YES</li>
<li>scrollEnabled = 否</li>
</ul></li>
</ol></p>
<p style="font-size: 20px;">关于ios - 如何一次将事件从外滚动传递到内滚动,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/20604913/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/20604913/
</a>
</p>
页:
[1]