你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS開發之使用UIWebView實現圖文混排

IOS開發之使用UIWebView實現圖文混排

編輯:IOS開發綜合

一開始做第一個新聞資訊項目的時候,不知道可以使用UIWebView實現圖文並茂的效果,於是就用了最笨的方法,使用TableView解決的新聞浏覽。當有點項目經驗後知道可以使用UIWebView或者CoreText實現,一直也沒有嘗試。當上次面試被問到怎麼使用WEbView進行新聞資訊展示時,當時就蒙圈了。回來以後,查閱資料發現原來如此簡單; 原文轉自http://blog.csdn.net/wildcatlele/article/details/38583731 轉載請注明。

1. 好了廢話少說先介紹一下,這個Demo的主要功能,可以進行新聞內容展示(圖文混排),鏈接可以點擊調到原新聞頁面;

2.下面看一下效果:

\\



<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+sr3W6KO6PC9wPgo8cD4wLrS0vajBvbj2ytPNvL/Y1sbM5TwvcD4KPHA+tLS9qNK7uPbQws/uxL+jrMi7uvO0tL2owb249r/Y1sbG90x2ZXNWaWV3Q29udHJvbGxlcrrNTHZlc09yaWdpbmFsQ29udHJvbGxlcjwvcD4KPHA+t9ax8MztvNPSu7j2VUlXZWJWaWV3tb1zZWxmLnZpZXfJz6GjPGJyPgo8YnI+CjwvcD4KPHA+MS7IpbP9d2ViVmlld7n2tq/KsaOsyc/PwrXEsNex36GjPC9wPgo8cD48L3A+CjxwcmUgY2xhc3M9"brush:java;">- (void)clearWebViewBackground:(UIWebView *)webView { UIWebView *web = webView; for (id v in web.subviews) { if ([v isKindOfClass:[UIScrollView class]]) { [v setBounces:NO]; } } }

2.設置代理

//2. 設置代理
    self.myWebView.delegate=self;


3.添加加載webview的視圖

#pragma mark 加載WebView
-(void) loadMyWebView{
    NSString *title=@"韓寒《後會無期》奇葩的吸金3秘籍";
    
    NSString *linkStr=[NSString stringWithFormat:@"我的博客 原文",@"http://blog.csdn.net/wildcatlele",@"http://jincuodao.baijia.baidu.com/article/26059"];
    
    NSString *p1=@"韓寒《後會無期》的吸金能力很讓我驚訝!8月12日影片票房已成功沖破6億大關。而且排片量仍保持10 以上,以日收千萬的速度穩步向七億進軍。";
    
    NSString *p2=@"要知道,《後會無期》不是主流類型片,是一個文藝片。不像《小時代》,是一個商業主流的偶像電影。";
    NSString *image1=[NSString stringWithFormat:@"",@"http://nvren.so/uploads/allimg/c140801/140DR4554L40-YB9.jpg"];
    NSString *image2=[NSString stringWithFormat:@"",@"http://f.hiphotos.baidu.com/news/w%3D638/sign=78315beeb1fb43161a1f797918a44642/2934349b033b5bb58cb61bdb35d3d539b600bcb5.jpg"];
    
    NSString *p3=@"太奇葩了!有人說,這是中國電影市場的紅利,是粉絲電影的成功。但是,有一部投資3000萬的粉絲電影《我就是我》,有明星,制作也不錯,基本上是慘敗。";
    
    NSString *p4=@"《後會無期》賣的不是好故事,是優越感。特別是針對80、90後的人群,你有沒有發現,看《後會無期》比看《小時代3》有明顯的優越感。故事雖然一般,但是很多人看完後,會在微博、微信上曬照片。所以說,對一個族群靠的不是廣度,而是深度。
\ \ 很凶殘,值得大家借鑒。韓寒《後會無期》還有什麼秘密武器,歡迎《後會無期》團隊或相關方爆料,直接留言即可,有料的可以送黎萬強親筆簽名的《參與感》一書。"; //初始化和html字符串 NSString *htmlURlStr=[NSString stringWithFormat:@"

%@

%@

%@

%@

%@

%@

%@

%@

",title,linkStr,p1,image1,p2,p3,image2,p4]; [self.myWebView loadHTMLString:htmlURlStr baseURL:nil]; }



4.實現代理方法,(處理連接點擊事件)

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{

    NSString *urlStr=request.URL.absoluteString;
    
    NSLog(@"url: %@",urlStr);
    
    //為空,第一次加載本頁面
    if ([urlStr isEqualToString:@"about:blank"]) {
        return YES;
    }
    
    //設置點擊後的視圖控制器
    LvesOriginalController *originalC=[[LvesOriginalController alloc] init];
    originalC.originUrl=urlStr; //設置請求連接
    //跳轉到點擊後的控制器並加載webview
    [self.navigationController pushViewController:originalC animated:YES];
    
    return  NO;
}
//設置底部滾動不彈回
- (void)webViewDidFinishLoad:(UIWebView *)webView{
    NSInteger height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] intValue];
    NSString* javascript = [NSString stringWithFormat:@"window.scrollBy(0, %d);", height];
    [webView stringByEvaluatingJavaScriptFromString:javascript];

}


5.實現OrigainalViewController

//
//  LvesOriginalController.m
//  WebViewDemo
//
//  Created by Lves Li on 14-8-15.
//  Copyright (c) 2014年 Lves. All rights reserved.
//

#import "LvesOriginalController.h"

@interface LvesOriginalController ()
{
    UIWebView *_webView;
}
@end

@implementation LvesOriginalController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    //設置title
    self.title=@"原文";
    
    
    _webView=[[UIWebView alloc] init];
    _webView.frame=[[UIScreen mainScreen] bounds];
    
    [self.view addSubview:_webView];
    
    [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.originUrl]]];
    
    
}



@end


下載連接








  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved