我在UIWebView中遇到了一個相當奇怪的錯誤。如果我創建了一張桌子,並且它的長度太長(比屏幕寬度更長,我猜),字體大小會變大!UIWebView:表格寬度會影響文字大小
下面是一個示例應用程序,我扔在一起來演示這一點。
這片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>
產生以下結果:
上方的表格被放大!唯一不同的是,頂部表格中的第一行更長。這使整個桌子的字體變大了!
我試過用<nobr>
代替CSS,它給出了相同的結果。使用內聯樣式設置字體大小也不起作用。
如果我將<td>
的寬度設置爲比屏幕更大的尺寸,我也會得到相同的結果,所以看起來好像有一些自動調整尺寸是問題所在。
有沒有人知道這個解決方法?!
UPDATE
這裏是我的項目,如果你想嘗試一下自己: http://cl.ly/2B3r1F2C3I0C2D1S2X3s
更新2
我忘了提,我已經嘗試設置字體大小throigh CSS。在<style>
和inline中,甚至通過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';
}
這沒有效果。
是否有一個原因,你不使用本機UITableViews呢? – jmstone617 2012-02-08 18:14:36
它是通過wysiwyg網絡管理工具創建的一些數據圖表,因此需要UIWebView。 – oskob 2012-02-08 18:20:54
這也發生在普通的Safari中,甚至在iPhone 5s上的Chrome上也是如此。它甚至可以在XCode模擬器中複製。它似乎與模型有關:在XCode中它發生在iPhone 5s,6,6 Plus和6s中,但不在iPhone 6s Plus中(全部在iOS 9.0的XCode模擬器中測試過)。 @Lee Gary的JS hack沒有在我的測試中工作,既不是在真正的5s也不是在模擬中。 – Jpsy 2015-10-23 12:59:26