IOS UIWenView 调整页面字体大小

IOS UIWenView 调整页面字体大小

IOS UIWenView 调整页面字体大小,示例如下:

FontSizeChangeViewController.h

#import <UIKit/UIKit.h>

@interface FontSizeChangeViewController : UIViewController{
    UIToolbar *toolBar;
}

@property (weak, nonatomic) IBOutlet UIWebView *webDetails;

@end

FontSizeChangeViewController.m

#import "FontSizeChangeViewController.h"

#define K_FONT_SIZE_CHANGE_WEB_URL @"http://3g.fx678.com/news/detail/201508031037021902"
#define K_FONT_SIZE_CHANGE_KEY @"ONT_SIZE_CHANGE_VIEW_SIZE"

@interface FontSizeChangeViewController ()

@end

@implementation FontSizeChangeViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    [self initView];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - Custom method
- (void) initView{

    //[S]加载网页
    NSURL *url = [[NSURL alloc] initWithString:K_FONT_SIZE_CHANGE_WEB_URL];

    // 自适应网页大小,支持放大缩小
    self.webDetails.scalesPageToFit = YES;

    [self.webDetails loadRequest:[NSURLRequest requestWithURL:url]];
    //[E]加载网页

    //[S]设置toolbar
    CGSize cgsize = self.navigationController.toolbar.frame.size;

    if (!toolBar)
        toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height- cgsize.height, cgsize.width, cgsize.height)];

    //字体放大按钮
    UIBarButtonItem *barBtnAdd = [[UIBarButtonItem alloc] initWithTitle:@"字号+" style:UIBarButtonItemStylePlain target:self action:@selector(btnFontSizeChange:)];
    barBtnAdd.tag = 1;

    //字体缩小按钮
     UIBarButtonItem *barBtnSmall = [[UIBarButtonItem alloc] initWithTitle:@"字号-" style:UIBarButtonItemStylePlain target:self action:@selector(btnFontSizeChange:)];
    barBtnAdd.tag = 2;

    NSArray *arrBtns = [NSArray arrayWithObjects:barBtnAdd,barBtnSmall, nil];
    [toolBar setBarStyle:UIBarStyleDefault];
    toolBar.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
    [toolBar setItems:arrBtns animated:YES];

    [self.view addSubview:toolBar];
    //[E]设置toolbar

}

//字体大小改变
-(void) btnFontSizeChange:(UIBarButtonItem *)sender{

    NSInteger fontSize = [[NSUserDefaults standardUserDefaults] integerForKey:K_FONT_SIZE_CHANGE_KEY];
    if (!fontSize){
        //默认18px
        [[NSUserDefaults standardUserDefaults] setInteger:18 forKey:K_FONT_SIZE_CHANGE_KEY];

        fontSize = [[NSUserDefaults standardUserDefaults] integerForKey:K_FONT_SIZE_CHANGE_KEY];
    }

    NSString *strFontSize = nil;
    if (sender && [sender.title isEqualToString:@"字号+"])
        fontSize += 2;
    else if(sender && [sender.title isEqualToString:@"字号-"])
        fontSize -= 2;

    strFontSize = [NSString stringWithFormat:@"document.body.style.fontSize = '%lDpx';",(long)fontSize];
    [self.webDetails stringByEvaluatingJavaScriptFromString:strFontSize];

    //更新值
    [[NSUserDefaults standardUserDefaults] setInteger:fontSize forKey:K_FONT_SIZE_CHANGE_KEY];

}

@end

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-11 09:57:35

IOS UIWenView 调整页面字体大小的相关文章

移动端rem布局,用户调整手机字体大小或浏览器字体大小后导致页面布局出错问题

一.用户修改手机字体设置大小,影响App里打开的web页面. 手机字体设置大小,影响App的页面.Android的可以通过webview配置webview.getSettings().setTextZoom(100)就可以禁止缩放,按照百分百显示. 二.用户调整浏览器字体大小,影响的是从浏览器打开的web页 浏览器设置字体大小,影响浏览器打开的页面.通过js可控制用户修改字体大小,使页面不受影响. (function(doc, win) { // 用原生方法获取用户设置的浏览器的字体大小(兼容i

jQ禁止右键点击、隐藏搜索文本框文字、在新窗口中打开链接、检测浏览器、预加载图片、页面样式切换、所有列等高、动态控制页面字体大小、获得鼠标指针的X值Y值、验证元素是否为空、替换元素、延迟加载、验证元素是否存在于Jquery集合中、使DIV可点击、克隆对象、使元素居中、计算元素个数、使用Google主机上的Jquery类库、禁用Jquery效果、解决Jquery类库与其他Javascript类库冲突

1. 禁止右键点击 代码如下: $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }); }); 2. 隐藏搜索文本框文字 代码如下: $(document).ready(function() { $("input.text1").val("Enter your search text here"); textFill($

动态设置移动页面字体大小技术方案

设置好根结点字体大小,子节点用rem做单位,实现自适应. 一.css方案之媒体查询 设置html的font-size @media screen and (min-width: 320px) { html {font-size: 14px;} } @media screen and (min-width: 360px) { html {font-size: 16px;} } @media screen and (min-width: 400px) { html {font-size: 18px;

调整Eclipse字体大小

Eclipse 字体有两处,一处是控制台的字体,一处是主窗口.这里分别介绍控制台和主窗口字体的调节方法. Window -> Preferences -> General -> Appearance -> Colors and Fonts -> Basic -> Text Font -> Edit 调节控制条字体大小. Window -> Preferences -> General -> Appearance -> Colors and

如何调整eclipse字体大小

现在本本屏幕越来越小, 在上面运行eclipse就会显得字体小, 那么如何调整字体大小那?方法一:    打开菜单 window->preferences->general->appearance->colors and fonts打开basec里面的text font 进行编辑会弹出一个字体编辑的窗口, 在里面调整字体即可. 方法二:    因为eclipse版本众多,所以菜单路径也会有所差异. 还有一种方法可以不用担心不同版本的差异:    开始先打开菜单 window->

移动web页面字体大小三

<script type="text/javascript"> (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function () { var clientWidth = docEl.clientWidth; if (!clientWidt

关于手机页面字体大小的问题

从我第一天写手机页面的时候一直困扰我的问题有两个  一个是自适应字体的大小,一个是自适应页面的高度.我想接到一个手机的页面任务 大部分人都会碰到这种问题 我这介绍一种实现的办法媒体查询   不说别的直接贴代码 <!doctype html><html><head><meta charset="utf-8"><title>手机页面</title><meta name="viewport" c

可调整的字体大小设置

在做公司的官网的时候,新闻内页会有一个让浏览者自己调整文字大小的功能,因此在这个空闲时间,把这个功能整理下来: 1 function setFontSize (id,content,params){ 2 var oTarget = document.getElementById(id), 3 content = document.getElementById(content), 4 size = params.size || 14, 5 maxSize = params.maxSize || 2

Pycharm使用方法之调整代码字体大小

直接上图