首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android ScrollView设置初始position的方法

刚听到这个需求的时候,觉得这个很简单,直接设置ScrollView的初始滚动值即可。然而,当真正实现的时候却发现,Android压根没有方法可以设置ScrollView的初始滚动值。...但是为难的是如何做到初始化ScrollView的默认滚动值。如果在onCreate里面调用scrollTo是无效的,因为这时候ScrollView都没有布局好。...前面已经尝试scrollTo在onCreate的时候就设置的话是无效的。...通过断点和查看源码确认,这个保存ScrollView当前滚动位置的scrollY属性全名叫做mScrollY,而这个mScrollY并不是ScrollView的成员,而是其父类View的属性成员。...发现这个之后,将之前的反射代码直接修改成获取View的mScrollY变量,然后直接反射设置其初始高度。 编包后自测OK。

4K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    UIWebView的使用与总结

    hh.jpeg 先前在项目中使用了UIWebView 在项目中一些比较复杂的UI布局、需后台灵活控制的界面、原网页,可以考虑UIWebView 在用它之前跟大家说下它的优缺点 优点: 可跨平台...发布更新快 在服务器端发布,能够实时更新终端展示,便于快速升级以及紧急修复bug 排版布局能力强 强大的HTML+CSS让人膜拜 缺点: 性能 相对于原生的app来说,使用UIWebView...的app相对来说性能会低一点, 用户的体验度也会大打折扣 数据通讯复杂UIWebView与App之间进行数据通讯只能通过javascript或 UIWebViewDelegate来进行,客户端想传参数给...具体的操作如下 更多经验请点击 UIWebView的常规使用方法: //加载网页或者本地文件 - (void)loadRequest:(NSURLRequest *)request;//直接加载...设置背景透明:webView.backgroundColor= [UIColor clearColor];webView.opaque=NO; 自动适配屏幕: webView.scalespageToFit

    58130

    UIWebView 浏览器控件一、初始化与三种加载方式二、常用属性和方法三、代理方法 UIWebViewDelegate四、其它案例:

    一、初始化与三种加载方式 UIWebView继承于UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种: 1.第一种: - (void)loadRequest...:(NSURLRequest *)request; 这是加载网页最常用的一种方式,通过一个网页URL来进行加载,这个URL可以是远程的也可以是本地的,例如加载百度的主页 UIWebView * view...二、常用属性和方法 属性: 1.设置webView的代理 @property (nonatomic, assign) id delegate; 2.内置的scrollView...默认情况下UIWebView加载HTML页面后,会以页面的原始大小进行显示,亦即如果页面的大小超出UIWebView视口大小,UIWebView会出现滚动效果,而且用户只能通过滚动页面来查看不同区域的内容...; 下面这些属性是iOS7之后才有的,通过他们可以设置更加有趣的web体验 14.这个属性用来设置一种模式,当网页的大小超出view时,将网页以翻页的效果展示 @property (nonatomic)

    1.5K60

    iOS中UIWebView的使用详解 原

    iOS中UIWebView的使用详解 一、初始化与三种加载方式      UIWebView继承与UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种...例如我加载百度的主页:     UIWebView * view = [[UIWebView alloc]initWithFrame:self.view.frame];     [view loadRequest..., readonly, retain) UIScrollView *scrollView; 内置的scrollView @property (nonatomic, readonly, retain) NSURLRequest...,通过返回值来进行是否加载的设置 - (void)webViewDidStartLoad:(UIWebView *)webView; 开始加载时调用的方法 - (void)webViewDidFinishLoad...:(UIWebView *)webView; 结束加载时调用的方法 - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError

    79920

    UIWebView与JS的交互

    除此之外,还需要禁用获取的HTML文本中自带的 标签自动加载,并把下载图片的操作放在native端来处理,并通过JS将图片在Cache中的地址返回给UIWebview。...Github上的WebViewJavascriptBridge 这个用于UIWebView/WebViews和JS交互的封装库。 看sample的时候我容易被各种回调搞晕,我们先看代码。...网页中的图片固然不能「跳」出来放大,但我们可以根据JS传回来的x、y、width、height这些位置信息自己创建一个UIImageView,image和当前点击图片一致,设置透明度为0,add到UIWebView...连上你的iPhone或者使用模拟器,当你的程序当前显示了一个UIWebView,Safari会自动识别这个UIWebview,并可以在开发菜单栏中找到你的设备进行调试。 ?...参考:UIWebView与JS的深度交互

    3.7K20

    iOS 多个scrollview联动(附DEMO)

    前言 在移动应用实际开发过程中,往往会有多个scrollview嵌套的界面需求,这种需求已经司空见惯,解决方案也多种多样,这里就介绍一下我认为最优的解决方案。 效果图: ?...尝试过的思路: 有一种思路总结起来是,通过开启或者禁止mainScrollview和moduleScrollview的交互来达到何时响应某个scrollview的目的。...在手指拖动的临界状态,通过大量的判断逻辑来主动控制某些scrollview的偏移量,进而达到“欺骗观众”的响应拖动状态。...如此一来,我们需要做的,仅仅是判断何时不让某个scrollview改变偏移量即可。...,在iOS8系统以上的情况,还是建议大家将UIWebview更换为WKWebview,性能和兼容性的提升不容小觑。

    2.3K70

    WKWebView 那些坑

    导语 WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨重难用、内存泄漏的 UIWebView。...在一些用 webGL 渲染的复杂页面,使用 WKWebView 总体的内存占用(App Process Memory + Other Process Memory)不见得比 UIWebView 少很多。...在 UIWebView 上当内存占用太大的时候,App Process 会 crash;而在 WKWebView 上当总体的内存占用比较大的时候,WebContent Process 会 crash,从而出现白屏现象...而在 WKWebView 上对 contentInset 的调整会反馈到webView.scrollView.contentSize.height的变化上,比如设置 webView.scrollView.contentInset.top...实际上,即便在 UIWebView 上也不建议直接调整webView.scrollView.contentInset的值,这确实会带来一些奇怪的问题。

    4.7K130

    iOS下JS与OC互相调用(一)--UIWebView 拦截URL

    最近准备把之前用UIWebView实现的JS与原生相互调用功能,用WKWebView来替换。顺便搜索整理了一下JS 与OC 交互的方式,非常之多啊。...(这里分为UIWebView 和 WKWebView两种,去年因为还要兼容iOS 6,所以没办法只能采用UIWebView来做。) 2.利用WKWebView 的MessageHandler。...---- 今天就详细的介绍一下使用UIWebView拦截URL 的方式来实现JS与OC 的交互。 为什么不使用第三方库或者RAC呢?...因为就相互调用的接口使用的非常少啊,就那么三两个,完全没必要使用牛刀啊。 ? UIWebView 拦截URL 我之前就使用的是UIWebView + 拦截URL 的方式实现的JS与OC 交互。...self.webView.scrollView.bounces = NO; // UIWebView 滚动的比较慢,这里设置为正常速度 self.webView.scrollView.decelerationRate

    3.6K40

    iOS小技能:UIWebView 被拒的解决方案(用更安全的WKWebView替代UIWebView)

    引言 背景:202012之后苹果将不接受使用UIWebView UIWebView 被拒的解决方案:使用WKWebView替代UIWebView 1、查 SDK是否用 UIWebView 的 API...2、移除/升级含UIWebView的第三方SDK(例:AFNetworking) 3、使用WKWebView替代UIWebView 4、WKWebView与JS交互案例(点击页面图片,调用iOS方法进行图片放大显示...、NSURLSession 和 UIWebView 中的请求; 对于 WKWebView 中发出的网络请求也无能为力,如果真的要拦截来自 WKWebView 中的请求,还是需要实现 WKWebView...I 使用WKWebView替换UIWebView 1.1 移除/升级包含UIWebView的第三方SDK(grep -r "UIWebView" .) ➜ retail git:(develop)...1.2 移除/替换自己项目使用UIWebView API的代码 自己是否用了该 API 只需要在 Xcode 中全局搜索即可 II 升级包含UIWebView的第三方SDK的具体例子 pod

    3.3K20

    iOS Hybrid 框架

    一.Cordova 说到PhoneGap,就不得不说到Cordova Cordova 是一个可以让 JS 与原生代码(包括 Android 的 java,iOS 的 Objective-C 等)互相通信的一个库...与 Objective-C 通信 Js 使用了两种方式来与 Objective-C 通信,一种是使用 XMLHttpRequest 发起请求的方式,另一种则是通过设置透明的 iframe 的 src...通过在 Js 端创建一个透明的 iframe,设置这个 ifame 的 src 为自定义的协议,而 ifame 的 src 更改时,UIWebView 会先回调其 delegate 的 webView:...,设置 iframe 的 src 属性             execIframe = execIframe || createExecIframe();             execIframe.src...= "gap://ready";         }     }     ... } iOS这边对应的要在WebView里面写响应的方法 // UIWebView 加载 URL 前回调的方法,返回

    2.4K90

    Objective-c与js交互专题

    他们作为一个整体,其实起到了一个“桥梁”的作用,这三个文件封装了他们具体的交互处理方式,只开放出一些对外的涉及到业务处理的API,因此你在需要UIWebView与Nativecode交互的时候,引入该库...3.2 功能特性 【1】UI端 (1)UI端在初始化时支持设置消息的默认处理器(这里的消息指的是从Native端接收到的消息); (2)从UI端向Native端发送消息,并支持对于Native...; 【2】Native端 (1)Native端在初始化时支持设置消息的默认处理器(这里的消息指的是从UI端发送过来的消息); (2)从Native端向UI端发送消息,并支持对于UI端响应后的回调处理逻辑的定义...使用过程 1.初始化一个webview(viewdidload) UIWebView* webView = [[UIWebView alloc] initWithFrame:self.view.bounds...iOS 获取UIWebView上面的按钮点击事件 http://blog.csdn.net/zhangkongzhongyun/article/details/24314007 UIWebView的使用总结

    1.7K50
    领券