ios navigationcontroller 滑动返回与webview加载html图片自适应屏幕宽度

1 、ios navigationcontroller 滑动返回

滑动返回是navigationcontroller默认返回按钮自带的功能,如果返回按钮自定义该功能失效,

解决的办法有两个:

       ①   

self.navigationItem.backBarButtonItem =   [[UIBarButtonItemalloc]initWithCustomView:button];//这个方法用不了

只能用

self.navigationItem.backBarButtonItem =   

   [ [UIBarButtonItem alloc]initWithTitle: style: target: action:]

选择范围较小,

     ②

    UIButton*button = [UIButtonbuttonWithType:UIButtonTypeCustom];

    [button setFrame:CGRectMake(0,0,40,40)];

    [button setTitle:@"返回"forState:UIControlStateHighlighted];

    [button setTitle:@"返回"forState:UIControlStateNormal];

    [button addTarget:selfaction:@selector(back)forControlEvents:UIControlEventTouchUpInside];

    

    

    UIBarButtonItem*bar = [[UIBarButtonItemalloc]initWithCustomView:button];

  

    self.navigationItem.leftBarButtonItem = bar;

    

但是要在push之后加上

if ([self.navigationControllerrespondsToSelector:@selector(interactivePopGestureRecognizer)]) {

        self.navigationController.interactivePopGestureRecognizer.delegate = nil;

    }


③第二种方法有漏洞(连续多次快速滑动的时候容易崩溃),下面是最新的方法

在主viewconroller中添加:

self.navigationController.interactivePopGestureRecognizer.delegate = (id<UIGestureRecognizerDelegate>)self;

还有:

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
     if (self.navigationController.viewControllers.count == 1)//关闭主界面的右滑返回
         {
            return NO;
            }
     else
         {
            return YES;
            }
    
}

最后一个方法感谢:http://www.tuicool.com/articles/vMfAVv



2、webview加载html图片自适应屏幕宽度


在用webview加载html的时候如果碰到html中有图片的时候,如果不对html做一下处理的话,会发现,加载出来的图片有些是对

屏幕不会自己适配的,这个时候处理的时候有两种方法,

①对webview做下处理,

    self.mWebView.scalesPageToFit =YES;

这个方法不完善,图片是会适配屏幕,但是字体会变小,

②写一个webview的拓展类

里面对html文本用js或者css做一下处理,添加一个一个head


    [content appendString:@"<html>"];

    [content appendString:@"<head>"];

    [content appendString:@"<meta charset=\"utf-8\">"];

    [content appendString:@"<meta id=\"viewport\" name=\"viewport\" content=\"width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=false\" />"];

    [content appendString:@"<meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />"];

    [content appendString:@"<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black\" />"];

    [content appendString:@"<meta name=\"black\" name=\"apple-mobile-web-app-status-bar-style\" />"];

    [content appendString:@"<style>img{width:100%;}</style>"];

    [content appendString:@"<style>table{width:100%;}</style>"];

    [content appendString:@"<title>webview</title>"];

这个处理的比较完美,也可以加在html的尾部,但是没有放在头部灵活, 最后一个方法
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值