UIWebView和滚动条指示器

时间:2009-12-11 13:01:42

标签: iphone objective-c cocoa-touch

对不起我的英语,我不是母语人士。

滚轴指示器有问题。当我将一个simle Web表单加载到UIWebView中时,滚动条指示符出现在屏幕的右侧。没错,但是当我尝试编辑表单上的某个字段时,滚动指示器会在WebView的中心移动,如图所示。请帮我解决这个问题。

alt text http://img22.imageshack.us/img22/7351/img0058w.png

更新

我会尝试在这里添加一些细节。

我创建了一个基于视图的空项目。

在plist文件中我添加一行:

Initial interface orientation = Landscape (right home button)

之后我在Interface Builer中打开一个空的View并添加一个UIWebView。

然后在ViewController中我为它创建了一个Outlet。

在-vievDidLoaded函数中,我编写了下一个代码:

NSURL *url = [NSURL URLWithString:@"http://my_url"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0f];
[webView loadRequest:request];

[super viewDidLoad];

这是加载页面的html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
 <head>
  <link href="/mobileproduct/css/webform/default.css" media="screen" rel="stylesheet" type="text/css" /></head>
<body>
  <form enctype="application/x-www-form-urlencoded" action="/mobileproduct/webform/buildwebform" method="post" class="webform"><dl class="zend_form">
<dt id="token-label">&nbsp;</dt>
<dd id="token-element">
<input type="hidden" name="token" value="1700ec7d06a1a0521670d7df8ccd9571" id="token" /></dd>
<dt id="authDataGroup-label">&nbsp;</dt><dd id="authDataGroup-element"><fieldset id="fieldset-authDataGroup"><legend>Personal info</legend>
<dl>
<dt id="name-label"><label for="name" class="required">Name:</label></dt>
<dd id="name-element">
<input type="text" name="name" id="name" value="NameHh" maxlength="30" /></dd>
<dt id="nick-label"><label for="nick" class="required">Nick:</label></dt>
<dd id="nick-element">
<input type="text" name="nick" id="nick" value="nicker" maxlength="30" /></dd>
<dt id="email-label"><label for="email" class="required">E-mail:</label></dt>
<dd id="email-element">
<input type="text" name="email" id="email" value="mozart@gmail.com" maxlength="80" /></dd></dl></fieldset></dd>
<dt id="dataGroup-label">&nbsp;</dt><dd id="dataGroup-element"><fieldset id="fieldset-dataGroup"><legend>Additional info</legend>
<dl>
<dt id="ref_custom_5-label"><label for="ref_custom_5" class="optional">Question 1</label></dt>
<dd id="ref_custom_5-element">
<input type="text" name="ref_custom_5" id="ref_custom_5" value="Na" /></dd>
<dt id="ref_custom_6-label"><label for="ref_custom_6" class="optional">Question 2</label></dt>
<dd id="ref_custom_6-element">
<input type="text" name="ref_custom_6" id="ref_custom_6" value="qq" /></dd>
<dt id="ref_select_2-label"><label for="ref_select_2" class="optional">Select Gender</label></dt>
<dd id="ref_select_2-element">
<select name="ref_select_2" id="ref_select_2">
    <option value="" label="" selected="selected"></option>
    <option value="1" label="male">male</option>
    <option value="2" label="female" selected="selected">female</option>
</select></dd></dl></fieldset></dd>
<dt id="buttonsGroup-label">&nbsp;</dt><dd id="buttonsGroup-element"><fieldset id="fieldset-buttonsGroup"><dl>

<input type="submit" name="submit" id="submit" value="Send" />

<input type="reset" name="reset" id="reset" value="Restore" /></dl></fieldset></dd></dl></form></body>
</html>

如果我不编辑表单上的任何字段,滚动指示器看起来正常。但是在输入之后(或者,如果你想要,在显示/隐藏虚拟键盘之后)滚动指示器移动到错误的位置。

愚蠢的问题,但我真的不知道如何解决它。

1 个答案:

答案 0 :(得分:0)

我之前没见过。尝试通过syntax checker为初学者运行html。但是没有看到obj-c和html源代码,就没有太多可以使用的了。