日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS手势缩放字体大小

發布時間:2023/12/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS手势缩放字体大小 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
實現在UIWebView通過手勢控制字體大小的功能 實現思路: UIPinchGestureRecognizer + js注入
1) 通過NSInteger *fontSize; 記錄當前字體放大的比例 2)設置html中user-scale=0
  • <meta?name=\"viewport\"?content=\"width=device-width,?initial-scale=1.0,?user-scalable=no\">??
  • 在(void)webViewDidFinishLoad:(UIWebView *)webView中注入js代碼
    NSString *meta = [NSString stringWithFormat:@"var element = document.createElement('meta'); element.name = \"viewport\"; element.content = \"width=device-width,initial-scale=1.0,minimum-scale=0.5,maximum-scale=3,user-scalable=0\"; var head = document.getElementsByTagName('head')[0]; head.appendChild(element);"]; [webView stringByEvaluatingJavaScriptFromString:meta];
    3)向webview中添加UIPinchGestureRecognizer 注意:gesture的代理
    // 手勢 UIPinchGestureRecognizer *gesture = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(switchFontSize:)]; gesture.delegate = self; [webView addGestureRecognizer:gesture]; 4)完成對應的功能 -(void)switchFontSize:(UIPinchGestureRecognizer *)gesture { // NSLog(@"gesture.state=%ld", gesture.state); // NSLog(@"gesture.scale=%f", gesture.scale); if(gesture.state==UIGestureRecognizerStateEnded | gesture.state==UIGestureRecognizerStateCancelled){ NSString *js=@""; if(gesture.scale<1.0){ fontSize<=80?fontSize:(fontSize-=10); // 最小縮放到80% }else{ fontSize >=200?fontSize:(fontSize+=10); // 最大放大200% } js = [NSString stringWithFormat:@"document.body.style.webkitTextSizeAdjust='%d%%'", fontSize]; NSLog(@"js:%@", js); [self.webView stringByEvaluatingJavaScriptFromString:js]; } }

    參考文獻: http://www.programgo.com/article/68602880207/

    總結

    以上是生活随笔為你收集整理的iOS手势缩放字体大小的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。