Commit cbe662e
authored
The hidden UIScrollView used to receive the iOS status-bar tap
(scrollViewShouldScrollToTop:) was effectively invisible to the system
on real devices for two reasons: its contentSize (1x2) was smaller than
its full-screen frame so iOS treated it as not actually scrollable, and
userInteractionEnabled was NO which excludes the view from scroll-to-top
dispatch on recent iOS versions. Even when those were addressed, any
on-screen WKWebView/UIWebView/UITextView (whose internal scroll views
default to scrollsToTop=YES) created an ambiguity that caused iOS to
deliver the message to no one.
- Introduce a CN1StatusBarTapProxyView UIScrollView subclass that
returns NO from pointInside: so taps still fall through to the GL
view, and keeps contentSize one point taller than its bounds in
layoutSubviews so the scroll view stays scrollable across rotations.
- Recreate the proxy with userInteractionEnabled=YES and re-attach /
bring it to the front from viewDidAppear: so peers added after
viewDidLoad don't bury it.
- Set scrollsToTop=NO on the editing CN1UITextView and on UIWebView /
WKWebView's embedded scrollViews so they don't compete with the proxy.
1 parent a3effb5 commit cbe662e
2 files changed
Lines changed: 66 additions & 5 deletions
Lines changed: 58 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
198 | | - | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
199 | 223 | | |
200 | 224 | | |
201 | 225 | | |
| |||
572 | 596 | | |
573 | 597 | | |
574 | 598 | | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
575 | 604 | | |
576 | 605 | | |
577 | 606 | | |
| |||
1946 | 1975 | | |
1947 | 1976 | | |
1948 | 1977 | | |
| 1978 | + | |
| 1979 | + | |
| 1980 | + | |
| 1981 | + | |
| 1982 | + | |
| 1983 | + | |
| 1984 | + | |
| 1985 | + | |
1949 | 1986 | | |
1950 | 1987 | | |
1951 | | - | |
| 1988 | + | |
1952 | 1989 | | |
1953 | 1990 | | |
1954 | | - | |
1955 | | - | |
1956 | 1991 | | |
1957 | | - | |
| 1992 | + | |
| 1993 | + | |
| 1994 | + | |
| 1995 | + | |
| 1996 | + | |
| 1997 | + | |
| 1998 | + | |
| 1999 | + | |
1958 | 2000 | | |
1959 | 2001 | | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
| 2006 | + | |
| 2007 | + | |
| 2008 | + | |
1960 | 2009 | | |
1961 | 2010 | | |
1962 | 2011 | | |
| |||
2032 | 2081 | | |
2033 | 2082 | | |
2034 | 2083 | | |
| 2084 | + | |
| 2085 | + | |
| 2086 | + | |
| 2087 | + | |
2035 | 2088 | | |
2036 | 2089 | | |
2037 | 2090 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2605 | 2605 | | |
2606 | 2606 | | |
2607 | 2607 | | |
| 2608 | + | |
| 2609 | + | |
| 2610 | + | |
| 2611 | + | |
2608 | 2612 | | |
2609 | 2613 | | |
2610 | 2614 | | |
| |||
2653 | 2657 | | |
2654 | 2658 | | |
2655 | 2659 | | |
| 2660 | + | |
| 2661 | + | |
| 2662 | + | |
| 2663 | + | |
2656 | 2664 | | |
2657 | 2665 | | |
2658 | 2666 | | |
| |||
0 commit comments