如何通过“下拉并释放”刷新 UIWebView手势?

发布于 2024-09-08 20:25:23 字数 211 浏览 9 评论 0原文

我知道这在 iPhone 版 Tweetie 或 xkcd iPhone 应用程序中是可能的,但他们使用的是表格。您知道这是否也可以用于简单的 UIWebView 吗?我知道这个SO问题中的Javascript建议,但是如何在本地制作它呢?

I know that this is possible in the Tweetie for iPhone or the xkcd iPhone app, but they are using a table. Any idea if this can be done for a simple UIWebView as well? I'm aware of the Javascript suggestions in this SO question, but what about making that natively?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

十年九夏 2024-09-15 20:25:23

要检索 UIWebView 上的滚动事件,我个人使用此代码来获取 UIWebView 内的滚动视图:

- (void) addScrollViewListener
{
    UIScrollView* currentScrollView;
    for (UIView* subView in self.myWebView.subviews) {
         if ([subView isKindOfClass:[UIScrollView class]]) {
            currentScrollView = (UIScrollView*)subView;
            currentScrollView.delegate = self;
        }
    }
}

它正在工作。您还可以使用它来调用 [(UIScrollView*)subView setContentOffset:offSetanimated:YES]; 唯一的问题可能是没有通过 Apple 代码检查。我还不知道,因为我仍处于编码阶段。

有人尝试过吗?

To retrieve scroll events on UIWebView I personnaly use this code to get the scrollview that is inside the UIWebView :

- (void) addScrollViewListener
{
    UIScrollView* currentScrollView;
    for (UIView* subView in self.myWebView.subviews) {
         if ([subView isKindOfClass:[UIScrollView class]]) {
            currentScrollView = (UIScrollView*)subView;
            currentScrollView.delegate = self;
        }
    }
}

It's working. You can also use it to call [(UIScrollView*)subView setContentOffset:offSet animated:YES]; The only problem may be not to pass Apple code checking. I don't know yet since I'm still in coding phase.

Anyone tried that yet ?

暖阳 2024-09-15 20:25:23

仅供参考,iOS 5 正式在 UIWebView 中引入了 scrollView 属性。我测试过。它与 EGO 的拉取和刷新代码完美配合。所以这个问题对于任何 iOS 5 设备来说都不再是问题。

为了向下兼容,您仍然需要 @CedricSoubrie 的代码。

FYI, iOS 5 has officially introduced the property scrollView in UIWebView. I tested it. It worked perfectly with EGO's pull and refresh code. So the problem is no longer a problem for any iOS 5 devices.

For downward compatibility, you still need @CedricSoubrie's code though.

波浪屿的海角声 2024-09-15 20:25:23

说实话,UIWebVIew 类有一个未记录的 getter 方法,称为 _scrollView;
所以代码如下:

scrollView = [webView _scrollView];

To tell the truth, UIWebVIew class has an undocumented getter method called _scrollView;
So the code goes:

scrollView = [webView _scrollView];

风月客 2024-09-15 20:25:23

要获取 UIWebView 中 UIScrollView 的引用,只需通过迭代子视图来搜索它即可。

for(id eachSubview in [webView subviews]){
        if ([eachSubview isKindOfClass:[UIScrollView class]]){
            scrollView = eachSubview;
            break;
        }
}

之后,您可以使用 UIWebView 和 UIScrollView 委托回调轻松地将事物连接到 EGORefreshTableHeaderView 界面。

To get a reference for the UIScrollView in UIWebView, simply search it by iterating trough subviews.

for(id eachSubview in [webView subviews]){
        if ([eachSubview isKindOfClass:[UIScrollView class]]){
            scrollView = eachSubview;
            break;
        }
}

After that you can easily wire up things to your EGORefreshTableHeaderView interface with the UIWebView and the UIScrollView delegate callbacks.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文