gpt4 book ai didi

ios - 确定用户是否可以看到按钮

转载 作者:行者123 更新时间:2023-12-01 19:03:52 25 4
gpt4 key购买 nike

我有一个有趣的要求。当用户向上滑动时,我有一个尺寸会扩大的 webview。这很好用,但现在我试图检测用户是否向上滚动到顶部,以便我可以再次将其最小化。

我试图通过在 webview 后面放置一个图像来做到这一点,如果用户滚动到 webview 的顶部,则会发生反弹效果并且底层图像变得可见。我试图使用“隐藏”属性,认为图像在 webview 下是隐藏的,但在 webview 被拉下时可见。然而,这似乎不能正常工作。

有人对如何检测用户是否可以看到按钮/图像有任何想法吗?

最佳答案

因为 UIWebView 实现了 UIScrollViewDelegate,它声明符合那个协议(protocol),你可以使用 ScrollViewDidScroll委托(delegate)方法。

首先确保您的 UIWebView不在 UIScrollView

Important: You should not embed UIWebView or UITableView objects in UIScrollView objects. If you do so, unexpected behavior can result because touch events for the two objects can be mixed up and wrongly handled.



相反,您可以通过 UIWebView 属性访问 UIScrollView,因为我们现在知道 UIWebView 是基于 UIScrollView。您的 View Controller 可以实现 UIScrollViewDelegate。
@interface MyViewController : UIViewController<UIScrollViewDelegate>
@end

然后,您必须将 webview 中的 scrollView 属性设置为 UIScrollViewDelegate,如下所示:
- (void)viewDidLoad
{
[super viewDidLoad];
// Set the scrollView property's delegate protocol to self. This is so that this view controller will receive the delegate methods being fired when we interact with the scrollView.
webView.scrollView.delegate = self;
}

我们只对 ScrollView 的委托(delegate)方法之一感兴趣——scrollViewDidScroll。然后,您可以检测 scrollView 何时在您的 webview 中滚动,并最终有一个简单的数学方程来检查 scrollView 是否已滚动到顶部:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if(scrollView.contentOffset.y <= 0.0){
NSLog(@"TOP REACHED so do the chicken dance");
}
}

关于ios - 确定用户是否可以看到按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21084519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com