- 浏览: 625828 次
文章分类
最新评论
-
q781253433:
qin ~.求demo看看~
Android之Widget -
zhongyuanceshi:
博主,没看到你的例子的Demo,共享下
Android之Widget
参考文章:http://mobilesolutions.blog.163.com/blog/static/189224176201161161110985/
一. 在UIWebView中使用flashScrollIndicators
使用UIScrollView时,我们可以使用flashScrollIndicators方法显示滚动标识然后消失,告知用户此页面可以滚动,后面还有更多内容。UIWebView内部依赖于UIScrollView,但是其没有flashScrollIndicators方法,但可以通过其他途径使用此方法,如下所示。
for (id subView in [webView subviews]) {
if ([subView respondsToSelector:@selector(flashScrollIndicators)]) {
[subView flashScrollIndicators];
}
}
上述代码片段可以到webViewDidFinishLoad回调中使用,加载完网页内容后flash显示滚动标识。
二.去除UIWebView的背景阴影
假设一个UIWebView是白底黑字的,当用户拖动UIWebView时,会看到后面的背景阴影,如下图所示。
可以使用下述代码去除阴影,并将背景设为白色。
if ([[webView subviews] count] > 0) {
// hide the shadows
for (UIView* shadowView in [[[webView subviews] objectAtIndex:0] subviews]) {
[shadowView setHidden:YES];
}
// show the content
[[[[[webView subviews] objectAtIndex:0] subviews] lastObject] setHidden:NO];
}
webView.backgroundColor = [UIColor whiteColor];
三.根据内容获取UIWebView的高度
有时候需要根据不同的内容调整UIWebView的高度,以使UIWebView刚好装下所有内容,不用拖动,后面也不会留白。有两种方式可根据加载内容获取UIWebView的合适高度,但都需要在网页内容加载完成后才可以,即需要在webViewDidFinishLoad回调中使用。
1.使用sizeThatFits方法。
- (void)webViewDidFinishLoad:(UIWebView *)webView {
CGRect frame = webView.frame;
frame.size.height = 1;
webView.frame = frame;
CGSize fittingSize = [webView sizeThatFits:CGSizeZero];
frame.size = fittingSize;
webView.frame = frame;
}
sizeThatFits方法有个问题,如果当前UIView的大小比刚好合适的大小还大,则返回当前的大小,不会返回最合适的大小值,所以使用sizeThatFits前,先将UIWebView的高度设为最小,即1,然后再使用sizeThatFits就会返回刚好合适的大小。
2.使用JavaScript
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGRect frame = webView.frame;
NSString *fitHeight = [webview stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight;"];
frame.size.height = [fitHeight floatValue];
webView.frame = frame;
}
使用UIWebView的stringByEvaluatingJavaScriptFromString方法,执行JavaScript语句document.body.scrollHeight;可获取当前网页正文的全文高,测试时曾错误的使用了document.body.offsetHeight。
3.限制
这两种方法都只能在加载网页完成时才能使用,当在UITableView中的UITableViewCell包含UIWebView时,无法在tableView:heightForRowAtIndexPath:中获取到UIWebView最合适的高度,也就无法确定UITableViewCell的合适高度。 Any Ideas?
发表评论
-
tableview FPS 优化
2016-06-28 11:26 1现状: 在滚动tableview ... -
iOS 开发者中的公司账号与个人账号之间有什么区别?
2016-06-23 14:54 504原文:http://www.zhihu.com/questio ... -
strong weak copy
2016-04-24 21:01 632copy的使用 如果是mutable,则co ... -
App性能优化思考
2015-10-13 15:24 914一个app的数据 启动时间 crash率 每个 ... -
iOS之手势操作
2015-01-19 10:24 784手势学习: https://developer. ... -
iOS之网络学习
2015-01-19 10:23 646网络学习: http://nshipster.c ... -
nib文件的加载过程
2014-10-24 13:39 807参考:http://blog.csdn.net/nokiax ... -
NSCoder&&NSCoding使用
2014-10-24 11:38 761NScoder和NScoding的作用是将自定义的类的对象持 ... -
Autolayout学习
2014-10-20 16:32 747参考: http://my.oschina. ... -
IOS开发屏幕适配总结
2014-10-20 16:28 469面对4个分辨率的iPhone,建议使用Auto Layou ... -
Size Classes学习
2014-10-20 16:27 770Size Classes介绍:http://blog.su ... -
iPhone6分辨率以及适配
2014-10-20 11:36 1311对iPhone6适配的两种方式:1、兼容模式 这种模式 ... -
Core Animation简介
2014-10-19 15:33 781在iOS中,整个view都是直接构建在Core Animat ... -
Charles使用——HTTP代理服务器
2014-10-19 15:32 2057* HTTP代理服务器,监听8888端口 * HTTP监视 ... -
《精选》开发中遇到的问题总结
2014-10-19 15:31 10101、新浪微博的使用 使用的事umeng的SDK来调用微信、 ... -
使用JavaScript给UIWebView中的内容注入CSS
2014-10-06 21:26 1161NSString *filePath = [[NSB ... -
UIViewde的属性edgesForExtendedLayout
2014-09-26 17:56 696edgesForExtendedLayout 指定边缘 ... -
UIView的属性autoresizingMask
2014-09-26 17:36 768在 UIView 中有一个autoresizingMask ... -
UIWebView获取内容的高度
2014-09-24 13:13 749// 第一种方法 ... -
storyboard的总结
2014-09-02 11:30 739两个基本概念 scene 就是一个视图控制器 se ...
相关推荐
掌握这些技巧后,便能在iOS应用中更好地利用UIWebView这一强大的工具。需要注意的是,随着技术的发展,Apple已推出了更先进的WKWebView替代UIWebView,因此建议在新项目中优先考虑使用WKWebView。
总的来说,“UIWebView与javascript的交互三”这个教程是一个实用的资源,可以帮助开发者熟练掌握在iOS应用中使用`UIWebView`进行原生代码与Web内容交互的技巧,这对于构建混合式应用或在原生应用中嵌入复杂的Web...
这篇博客文章“iOS开发之UIWebView”可能详细介绍了如何在iOS项目中使用UIWebView以及其相关的一些实践技巧。 UIWebView的主要功能包括加载HTML、CSS、JavaScript等Web资源,执行JavaScript代码并与Objective-C或...
在iOS开发中,UIWebView是苹果提供的一种用于展示网页内容的控件,它可以加载HTML、CSS、...同时,NJKWebViewProgress的使用也展示了如何通过代理模式和自定义视图来增强原生控件的功能,这是iOS开发中常见的技巧。
以下是一些关于UIWebView的基础知识和使用技巧: **1. UIWebView的基本用法** UIWebView的创建通常在`viewDidLoad`方法中完成。首先,我们需要初始化一个UIWebView对象,并设置其frame来确定在屏幕上的位置和大小...
在iOS开发中,UIWebView是苹果提供的一种用于在应用程序中加载和显示网页内容的组件。在本示例中,我们探讨的...理解并掌握这些技巧,将有助于提升你的iOS开发能力,特别是在处理用户生成内容和社交媒体集成的场景下。
通过查看这些文件,我们可以学习如何将理论知识应用于实际项目,从而提高Swift开发技能,尤其是关于UIWebView和自定义视图的使用。 总之,这款基于CAShapeLayer的UIWebView加载进度条项目,不仅展示了如何利用Core ...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于在应用程序内展示网页内容。随着技术的发展,UIWebView逐渐被...在实现过程中,理解两者的主要差异和使用技巧至关重要,这将有助于构建更加稳定和高效的iOS应用。
在iOS开发中,UIWebView和WKWebView是两种用于加载网页内容的重要组件。它们都是苹果提供的WebView框架,但...通过学习这个项目,开发者能够提升自己在WebView使用上的技巧,特别是在资源管理和性能优化方面的理解。
综上所述,混合使用WebView和TableView是新闻App详情页开发中的关键技巧,它需要对Swift UI组件有深入理解,以及对性能优化和用户体验的关注。通过熟练掌握这些技巧,开发者可以创建出功能丰富且用户友好的新闻应用...
综上所述,"webViewDemo"项目不仅展示了如何使用UIWebView呈现网页内容,还涵盖了如何实现自定义图片下载和缓存的高级技巧,这些都是iOS应用开发中不可或缺的技术知识。通过学习和理解这个项目,开发者可以提升在...
4. 使用`UIWebView`代理方法`shouldStartLoadWithRequest`来捕获和处理自定义URL协议的请求。 5. 如何在iOS端解析和响应来自JavaScript的请求。 这些知识对于开发混合型iOS应用或者需要增强`UIWebView`功能的应用至...
HTML标签实体解析是Web开发中的一个重要概念,尤其是在与iOS应用中的UIWebView交互时。...例如,小于号"<"和大于号">... UIWebView是iOS开发中...在实际开发中,理解并掌握这一技巧对于构建高质量的iOS应用至关重要。
7. **iOS开发中的PDF处理**:在iOS中,处理PDF除了使用Quartz 2D之外,还可以利用UIWebView的`-print:`方法直接打印网页为PDF,或者使用Core Graphics框架的PDF上下文来创建和编辑PDF文档。 8. **内存管理和性能...
- 本文介绍了如何使用JavaScript和Canvas API来直接从UIWebView中提取图片数据,而无需再次下载。 - 通过遍历DOM节点找到图片元素,并利用Canvas API绘制出来。 - **实现步骤**: - 获取UIWebView中的DOM节点...
总的来说,`WebViewJS.zip`这个示例项目应该涵盖了如何在iOS应用中加载HTML,以及如何通过`UIWebView`与JavaScript进行有效交互的各种技巧和最佳实践。通过学习这个项目,开发者可以更好地理解如何在原生应用中融合...
在iOS开发中,UIWebView是苹果提供的一种用于展示网页内容的控件,它允许开发者在应用内嵌入HTML页面。...同时,`drawRect:`方法的使用也展示了如何利用Core Graphics进行文本绘制,这是iOS开发中的一个重要技巧。
在iOS中,这通常涉及到对UILabel、UIImageView和UIWebView等控件的使用。 1. **UILabel**: UILabel是iOS中最基本的文本显示控件,但默认情况下不支持图片。为了在UILabel中实现图文混排,我们可以利用 ...
这个效果涉及到的是UIWebView或者WKWebView的使用技巧,以及如何实现平滑的页面过渡。以下将详细介绍这一知识点。 首先,我们需要理解在iOS应用中展示网页内容的两种主要方式:UIWebView(已弃用)和WKWebView。...
通过分析DemoMKWebView项目的源代码,我们可以学习到这些优化技巧,并将其应用到自己的项目中。这不仅能够提升应用的性能,还能改善用户体验,尤其是在网络条件不佳或设备性能较低的情况下。同时,这样的自定义实现...