2011-12-29 25 views
2

我最近遇到了幾個我在界面生成器中創建的多行UILabel的問題。在界面構建器中,每個標籤對於包含的文本都足夠大。同樣,當我在模擬器中運行它時,每個標籤都足夠大。但是當我將它運行在我的設備上時,一些黑魔法會導致換行發生在不同的地方,而不是所有文本都可見。與界面構建器和模擬器相比,爲什麼UILabel線會在設備的不同位置中斷?

我採取了故意讓IB中的違規標籤太大,但這讓我很好奇,究竟是什麼導致了差異。有誰知道它可能是什麼?

我通過MonoTouch使用Xcode 4.2中的界面生成器。這款手機是3GS並運行iOS 4.3.5,但我的模擬器似乎停留在iOS 5上(我猜這可能與它有關)。

+2

只是一個猜測:它使用了iOS 4中不可用的不同字體,因此會用更寬的字體替代它。 – Krumelur 2011-12-29 16:18:17

+0

它使用的是系統字體 - 這在不同版本的iOS中可能有所不同? – rankAmateur 2011-12-29 16:39:32

+1

根據設備而異。視網膜顯示設備使用Helvetica Neue作爲系統字體。老設備可以回到Helvetica。 – 2011-12-29 16:59:51

回答

0

看起來最有可能的解釋是,不同版本的iOS使用稍微不同的系統字體。 Interface Builder和iPhone模擬器可能使用了一種字體,但是當我將它放在我的iOS 4.3.5手機上時,它正在使用另一種字體。我認爲這很可能與操作系統而不是設備有關,因爲我已經能夠在運行iOS 4.2的iPhone 4上嘗試它 - 行爲與我的3GS相同。

感謝Krumelur和Mark Adams的評論!

+0

您應該將問題標記爲已回答(投票下面的綠色標記),以便其他人在搜索時可以看到答案可用。沒關係回答你自己的答案。 – poupou 2011-12-31 06:22:35

+0

是的,這是我的意圖,但你必須等待一天,然後將自己的回答作爲答案,並且我離開了幾天,所以沒有理解。 – rankAmateur 2012-01-03 13:15:57

相關問題