2012-02-08 154 views
1

我在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> 

產生以下結果:

iPhone Table strangeness

上方的表格被放大!唯一不同的是,頂部表格中的第一行更長。這使整個桌子的字體變大了!

我試過用<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'; 
} 

這沒有效果。

+0

是否有一個原因,你不使用本機UITableViews呢? – jmstone617 2012-02-08 18:14:36

+0

它是通過wysiwyg網絡管理工具創建的一些數據圖表,因此需要UIWebView。 – oskob 2012-02-08 18:20:54

+0

這也發生在普通的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

回答

0

我沒有看到任何指定的字體大小。我會嘗試手動設置CSS或HTML的字體大小。

+0

啊,forgor提到我試過了,更新後。 – oskob 2012-02-09 07:54:19

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