UIWebView:表的宽度会影响文本大小

时间:2012-02-08 18:10:53

标签: iphone objective-c uitableview

我在UIWebView中遇到了一个相当奇怪的错误。如果我创建一个表并且<td>:s太长(我想是长于屏幕的宽度),字体大小会变大!

这是一个示例应用程序,我一起来演示这个。

这段HTML:

<!DOCTYPE html>         
<html>
    <head>
        <style type="text/css">
            table
            td
            {
                white-space: nowrap;
            }
        </style>
    </head>
    <body>                  
        <table>
            <tr>
                <td>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean mi ipsum</td>
            </tr>
            <tr>
                <td>Lorem ipsum dolor sit amet.</td>
            </tr>
        </table>
        <table>
            <tr>
                <td>Lorem ipsum dolor sit amet.</td>
            </tr>
            <tr>
                <td>Lorem ipsum dolor sit amet.</td>
            </tr>
        </table>
    </body>
</html>

产生这个结果:

iPhone Table strangeness

顶部桌子放大了!唯一不同的是第一行在顶部表中更长。这使整个表的字体大小更大!

我尝试使用<nobr>而不是CSS,它会得到相同的结果。使用内联样式设置字体大小也不起作用。

如果我将<td>的宽度设置为大于屏幕的大小,我也会得到相同的结果,所以似乎有一些自动调整大小是问题所在。

有没有人知道这方面的解决方法?!

更新

如果您想亲自尝试一下,这是我的项目: http://cl.ly/2B3r1F2C3I0C2D1S2X3s

更新2

我忘了提到我已经尝试设置字体大小throigh CSS。在<style>和内联中,甚至通过JavaScript,在页面加载了loke之后:

td
{
    font-size: 18px;
}

<td style="font-size: 18px;">

var elements = document.getElementsByTagName('td');
for(int i = 0; i < elements.length; i++)
{
    elements[i].style.fontSize = '18px';
}

这没有效果。

2 个答案:

答案 0 :(得分:1)

var elements = document.getElementsByTagName('td');
for(**var** i = 0; i < elements.length; i++) {
    elements[i].style.fontSize = '18px';
}

答案 1 :(得分:0)

我没有看到指定任何字体大小。我会尝试用CSS或HTML手动设置字体大小。