BrowserView.h
#import <UIKit/UIKit.h>
@interface BrowserView : UIView <UIWebViewDelegate, UIScrollViewDelegate> {
UINavigationBar *addressBar_;
UIWebView *webView_;
}
@property (nonatomic, readonly) UINavigationBar *addressBar;
@property (nonatomic, readonly) UIWebView *webView;
@end
BrowserView.m
#import ”BrowserView.h”
@interface BrowserView(Private)
- (void)clearAddressBar;
- (void)clearWebView;
@end
#define kHeightOfAddressBar 52.0f
@implementation BrowserView
@synthesize addressBar = addressBar_;
@synthesize webView = webView_;
#pragma mark - Initialize
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self clearAddressBar];
CGRect frameOfAddressBar = CGRectMake(0, -kHeightOfAddressBar, self.frame.size.width, kHeightOfAddressBar);
addressBar_ = [[UINavigationBar alloc] initWithFrame:frameOfAddressBar];
addressBar_.autoresizingMask = (UIViewAutoresizingFlexibleWidth);
[self clearWebView];
webView_ = [[UIWebView alloc] initWithFrame:self.bounds];
webView_.delegate = self;
webView_.autoresizingMask = (UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight);
for (id subview in webView_.subviews) {
if ([subview isKindOfClass:[UIScrollView class]]) {
UIScrollView *scrollView = (UIScrollView *)subview;
scrollView.delegate = self;
scrollView.contentInset = UIEdgeInsetsMake(frameOfAddressBar.size.height, 0, 0, 0);
[scrollView setContentOffset:CGPointMake(0, frameOfAddressBar.origin.y) animated:NO];
[scrollView addSubview:addressBar_];
}
}
[webView_ loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@”http://www.google.com”]]];
[self addSubview:webView_];
}
return self;
}
#pragma mark - Memory management
- (void)dealloc
{
[self clearAddressBar];
[self clearWebView];
[super dealloc];
}
#pragma mark - Address Bar
- (void)clearAddressBar
{
[addressBar_ release], addressBar_ = nil;
}
#pragma mark - Web view
- (void)clearWebView
{
if (webView_ != nil) {
webView_.delegate = nil;
}
[webView_ release], webView_ = nil;
}
#pragma mark - Web view delegate
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
for (id subview in webView.subviews) {
if ([subview isKindOfClass:[UIScrollView class]]) {
UIScrollView *scrollView = (UIScrollView *)subview;
[scrollView setContentOffset:CGPointMake(0, 0) animated:YES];
}
}
}
#pragma mark - Scroll view delegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.y < 0) {
UIEdgeInsets insects = scrollView.scrollIndicatorInsets;
insects.top = -scrollView.contentOffset.y;
scrollView.scrollIndicatorInsets = insects;
}
}
@end
分享到:
相关推荐
**UIWebViewDemo** 是一个基于iOS开发的示例项目,主要展示了如何在应用程序中使用`UIWebView`组件来加载和展示网页内容。`UIWebView`是Apple提供的原生控件,它允许iOS开发者在应用内嵌入网页浏览功能,使得用户...
在iOS应用开发中,UIWebView是一个非常重要的组件,它允许开发者在应用程序内嵌入网页内容,实现网页浏览功能。这个示例程序是针对iPhone平台,旨在帮助开发者理解如何有效地使用UIWebView来展示网页数据。通过这个...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于展示网页内容。它可以加载HTML、CSS和JavaScript代码,并且支持与JavaScript进行交互,从而实现原生应用和Web内容的融合。本教程将深入探讨UIWebView与...
【标题】:“IOS UIWebView Demo”是一个iOS应用开发中的实例,它主要展示了如何在iOS应用中集成和使用UIWebView组件来加载和展示网页内容。UIWebView是Apple iOS SDK提供的一种原生控件,用于在iOS应用程序内部显示...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于展示网页内容。这个话题“UIWebView+html+css”主要关注如何在UIWebView中嵌入HTML和CSS,实现可点击的链接以及显示动态的GIF动画效果。下面将详细讲解这个...
在iOS开发中,UIWebView是苹果提供的一种非常重要的组件,它允许开发者在应用程序内部嵌入网页内容,实现类似浏览器的功能。这个"UIWebView的使用"示例是一个基础的学习项目,旨在帮助开发者理解如何通过UIWebView...
之前提到UIWebView使用一个UIScrollView对象来关联web页面的内容,通过UIWebView的scrollView属性即可获得该对象,默认情况下网页长度超出设备视口长度后页面会滚动,用户使用手指滚动页面到页面边距并放开手指后...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于展示网页内容。它可以加载HTML、CSS和JavaScript代码,并且具有与Objective-C(OC)代码进行交互的能力。本项目"UIWebView和js交互demo1"就是展示了如何利用...
在iOS开发中,UIWebView是苹果提供的一种非常重要的组件,用于在原生应用中嵌入网页内容。这个组件使得开发者可以展示HTML、CSS和JavaScript编写的网页,甚至与应用程序进行交互,实现一定的混合开发模式。以下是对...
然而,随着Apple对App Store审核政策的调整,使用UIWebView的App将不再被接受,因为Apple已经将其列为弃用API。在2020年,Apple明确表示,自2020年12月起,所有新提交的App和更新都必须移除UIWebView的使用,转而...
在本文中,我们将深入探讨UIWebView的基本使用,包括网络资源地址字符串的处理以及UIWebView的属性和协议的综合应用。 首先,让我们了解一下**UIWebView的基本使用**。创建一个UIWebView实例很简单,只需要在代码中...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于在应用内展示网页内容。这个"UIWebView与javascript的交互"的标题暗示了我们正在探讨如何在iOS应用中利用UIWebView与嵌入的HTML页面进行双向通信,即通过...
在iOS开发中,UIWebView是苹果提供的一种组件,用于在应用程序中展示网页内容。它不仅可以加载HTML页面,还可以执行JavaScript代码,甚至与原生代码进行交互。这种交互性使得开发者可以利用HTML、CSS和JavaScript的...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于在应用程序内展示网页内容。这个"UIWebView Demo代码"示例旨在帮助开发者理解如何使用UIWebView来加载和交互网页。下面我们将深入探讨UIWebView的主要功能、...
在iOS开发中,UIWebView是苹果提供的一种用于在应用程序中展示网页内容的组件。这篇博客“UIWebView加载html”很可能是讨论如何利用UIWebView来加载并显示HTML代码,这对于构建混合式应用或者需要在App内嵌入网页...
"Demo.zip_DEMO_iphone_uiwebview_uiwebview demo_uiwebview video"这个标题暗示了我们正在讨论的是一个关于在iPhone应用中使用UIWebView播放视频的示例项目。 UIWebView是Apple提供的一个类,它是UIKit框架的一...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于展示网页内容。它可以加载HTML、CSS和JavaScript代码,并且支持与Objective-C代码进行交互,实现App与Web页面的深度融合。本示例将深入探讨如何通过UIWebView...
在iOS开发中,UIWebView是苹果提供的一种用于在应用程序中展示网页内容的组件。它可以加载远程HTML内容,也可以处理本地的HTML文件。然而,当我们要在UIWebView中加载本地图片时,就需要对这个过程做一些特别的处理...
标题"(OC)(UIWebView)新闻详情.zip"表明这是一个关于Objective-C(简称OC)编程语言中,使用UIWebView控件来实现新闻详情展示的项目或代码示例。UIWebView是iOS开发中常见的一种组件,它允许开发者在应用内加载网页...