Titanium 钛-在webview中重置缩放比例

Titanium 钛-在webview中重置缩放比例,titanium,appcelerator,Titanium,Appcelerator,是否可以通过编程方式重置用户在webview中完成的缩放/缩放?我的问题是,当网络视图在横向放大时,你旋转手机,网络视图仍然在放大,在我的例子中,肖像模式现在被放大到了极致 我尝试过webview.repaint(),但这似乎毫无用处。我知道我可以调用webview.reload(),但这只会为我的服务器和用户数据计划占用更多带宽,所以我希望避免这种情况 我正在使用Tianium Studio,build:3.1.3.xxx,3.1.3 GA Ti SDK,并为iOS 7 SDK编译。您是否尝试

是否可以通过编程方式重置用户在webview中完成的缩放/缩放?我的问题是,当网络视图在横向放大时,你旋转手机,网络视图仍然在放大,在我的例子中,肖像模式现在被放大到了极致

我尝试过
webview.repaint()
,但这似乎毫无用处。我知道我可以调用
webview.reload()
,但这只会为我的服务器和用户数据计划占用更多带宽,所以我希望避免这种情况


我正在使用
Tianium Studio,build:3.1.3.xxx
3.1.3 GA Ti SDK
,并为
iOS 7 SDK

编译。您是否尝试过在方向更改时设置webview的ScalePage属性


您是否尝试过在方向更改时设置webview的scalesPageToFit属性


我找到了比我想做的更多的答案。我不得不修改Tianium SDK obj-c文件

我修改了3个文件:

TiUIWebView.h

-(void)resetZoomScale; //-- added this line to define the function in the header file
TiUIWebView.m

//-- Added this function that will actually handle the resize
- (void)resetZoomScale
{
    [webview.scrollView setZoomScale:1.0]; //-- reset the scroll view back to 1
}
//-- Call the resetZoomScale function in TiUIWebView.m file
//-- I believe this also exposes the function to javascript
-(void)resetZoomScale:()args
{
    TiThreadPerformOnMainThread(^{[(TiUIWebView*)[self view] resetZoomScale];}, NO);
}
TiUIWebViewProxy.m

//-- Added this function that will actually handle the resize
- (void)resetZoomScale
{
    [webview.scrollView setZoomScale:1.0]; //-- reset the scroll view back to 1
}
//-- Call the resetZoomScale function in TiUIWebView.m file
//-- I believe this also exposes the function to javascript
-(void)resetZoomScale:()args
{
    TiThreadPerformOnMainThread(^{[(TiUIWebView*)[self view] resetZoomScale];}, NO);
}

我现在可以调用
myWebView.resetZoomScale(),在web视图上执行的任何收缩/缩放操作都将重置为“无”或“1”

我找到了答案,这比我想做的要多了一点。我不得不修改Tianium SDK obj-c文件

我修改了3个文件:

TiUIWebView.h

-(void)resetZoomScale; //-- added this line to define the function in the header file
TiUIWebView.m

//-- Added this function that will actually handle the resize
- (void)resetZoomScale
{
    [webview.scrollView setZoomScale:1.0]; //-- reset the scroll view back to 1
}
//-- Call the resetZoomScale function in TiUIWebView.m file
//-- I believe this also exposes the function to javascript
-(void)resetZoomScale:()args
{
    TiThreadPerformOnMainThread(^{[(TiUIWebView*)[self view] resetZoomScale];}, NO);
}
TiUIWebViewProxy.m

//-- Added this function that will actually handle the resize
- (void)resetZoomScale
{
    [webview.scrollView setZoomScale:1.0]; //-- reset the scroll view back to 1
}
//-- Call the resetZoomScale function in TiUIWebView.m file
//-- I believe this also exposes the function to javascript
-(void)resetZoomScale:()args
{
    TiThreadPerformOnMainThread(^{[(TiUIWebView*)[self view] resetZoomScale];}, NO);
}

我现在可以调用
myWebView.resetZoomScale(),无论在web视图上执行了何种收缩/缩放操作,都将根据此线程重置为“无”或“1”

,并且由于无法轻松实现这一点,我创建了一个模块。它使用两种方法扩展Ti.UI.WebView,
setZoomLevel()
scrollToTop()
。目前它非常基本,但我正计划逐步扩展它的功能


看一看,这是修改核心代码的另一种选择。

基于此线程以及无法轻松实现这一点的事实,我创建了一个模块。它使用两种方法扩展Ti.UI.WebView,
setZoomLevel()
scrollToTop()
。目前它非常基本,但我正计划逐步扩展它的功能


看一看,这是修改核心代码的另一种选择。

我在创建webview时一开始就设置了它,但之后没有尝试设置它。我会给它一个镜头,并报告回井,设置这个属性的旋转似乎没有任何效果我设置它在开始时,当我创建网络视图,我还没有尝试设置后。我会给它一个镜头,并报告回那么,设置这个属性的旋转似乎没有任何效果很好,你刚刚做了这个吗?我本来会制作一个模块,但我认为编辑核心会更直接、更容易……在我的情况下,这是暂时的。是的,更改核心确实更容易,但我认为随着下一次SDK更新,修改可能会消失。不管怎样,我想进入那个模块,所以这是一个很好的起点;)是的,它肯定会在下一个SDK更新中消失,我将不得不在下一个应用程序版本中使用此模块。我们昨天刚刚提交了一个更新Nice,你刚刚做了这个吗?我本来会制作一个模块,但我认为编辑核心会更直接、更容易……在我的情况下,这是暂时的。是的,更改核心确实更容易,但我认为随着下一次SDK更新,修改可能会消失。不管怎样,我想进入那个模块,所以这是一个很好的起点;)是的,它肯定会在下一个SDK更新中消失,我将不得不在下一个应用程序版本中使用此模块。我们昨天刚刚提交了更新