zoukankan      html  css  js  c++  java
  • UIWebView支持点击事件,实现全屏功能

    在UIWebView上加手势

    View Code
    1 UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self
    2                                                                                 action:@selector(handleSingleTap:)];
    3     [self.view addGestureRecognizer:singleTap];
    4     singleTap.delegate = self;
    5     singleTap.cancelsTouchesInView = NO;
    6     [singleTap release];

    对手势动作进行处理实现全屏

    View Code
    - (void)handleSingleTap:(id)sender
    {
        if (!isFullScreen) {
            [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
            [self.navigationController setNavigationBarHidden:YES animated:YES];
            [self.navigationController setToolbarHidden:YES animated:YES];
            isFullScreen = YES;
        } else {
            [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
            [self.navigationController setNavigationBarHidden:NO animated:YES];
            [self.navigationController setToolbarHidden:NO animated:YES];
            isFullScreen = NO;
        }
    }

    关键是需要加上手势的代理

    View Code
    // called when the recognition of one of gestureRecognizer or otherGestureRecognizer would be blocked by the other
    // return YES to allow both to recognize simultaneously. the default implementation returns NO (by default no two gestures can be recognized simultaneously)
    //
    // note: returning YES is guaranteed to allow simultaneous recognition. returning NO is not guaranteed to prevent simultaneous recognition, as the other gesture's delegate may return YES
    
    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
    {
        return YES;
    }

    因为UIWebView上的touches,move事件会被其scrollView捕获,此代理允许了两个事件可以同时发生。

    当然也可以使用JS实现在UIWebView上的点击事件~

  • 相关阅读:
    squid开多端口代理的心得
    用ssh跑pppd(最简单的linuxvpn)
    Asterisk1.2编译与安装
    E1 CE1 PRI BRI T1 的区别
    asterisk卡常见问题(收集整理)
    CCProxy+Eborder开透明代理详细设置(附图文)
    iptables+NAT+squid 透明代理上网实现方案
    asterisk积累命令
    MySQL Cluster的常见问题
    如何配置Silverlight4开发环境
  • 原文地址:https://www.cnblogs.com/horo/p/2954094.html
Copyright © 2011-2022 走看看