2012-04-29 60 views
0

我們在辦公室設置了一大堆開發MacBook。我所有的電腦都完全一樣(只要安裝xcode並且不改變任何設置)。我們甚至將完全相同的xcode項目分發給每個人,以測試每個人是否都正確設置。由於某些原因,我的iPad模擬器錯誤地呈現UIView控制器上的對象的位置。 我可以製作一個非常基本的應用程序,並使用xcode 4.3.1(最新版本的ATM)中的storyboard編輯器拍攝一個UIView控制器,並向它添加一個按鈕。當我在模擬器上運行它時,它會在iPhone上看起來很好,但是當我嘗試在iPad中查看它時,似乎有些元素會擴展到iPad分辨率,但其他人不會。沒有的組件,似乎在它們在iPhone上渲染的情況下會是這樣。 這個問題最奇怪的部分是,我找不到有誰有這個相同的問題的任何人在線。我已經嘗試刪除並重新安裝xcode,同樣的事情仍然發生。我擔心我可能不得不重新安裝操作系統並從頭開始。iPad對象呈現不正確

它的外觀在iPhone模擬器: iPhone

而且在iPad模擬器: iPad

+1

我不認爲這是一個SDK的問題,我敢打賭,你正在編寫適合的iPhone屏幕,而不是爲更大的iPad屏幕代碼。 您可以發佈代碼和兩個屏幕截圖,一個用於iPhone,另一個用於iPad結果? – MacTeo

+0

就像我說的那樣,它和辦公室裏其他人都在使用的完全一樣,我沒有改變代碼。真的,我想知道什麼會導致這種顯示差異。我會看看我是否可以爲你提供截圖。我想我應該澄清,其他人已經在我的辦公室正確渲染。 – Reimius

+0

添加屏幕截圖。很明顯,它是在兩個模擬器的相同座標下渲染按鈕,而不是擴展它。對於那些抱怨圖表在那裏的人,它仍然沒有圖表。 – Reimius

回答

1

我不認爲這是一個SDK的問題,我敢打賭,你正在編寫適合代碼iPhone屏幕,而不是更大的iPad屏幕。

我認爲你剛剛添加了按鈕,並且Autoresizing Mask設置不正確。 我已經做了一些似乎是這樣的測量:

  • 從視圖的頂部距離是固定的(〜360px);
  • 寬度固定(〜260px);

您需要讓按鈕距離底部有一個固定的距離(因爲它應該停留在圖下)並移除左邊的固定邊距,以便它可以居中。

您需要查看UIViewAutoresizingMaskUIViewautoresizingMask屬性。

button.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; 
+0

你能舉一個如何使用這個UIViewAutoresizingMask屬性的代碼示例嗎?這仍然不能回答爲什麼同一個確切的項目在兩臺Mac電腦上顯示不同。我正在尋找一個編輯器設置或什麼來解釋這一點。我已經嘗試了多個項目並且遇到同樣的問題。我可以從互聯網上下載例子,並有相同的問題。如果以這種方式設置按鈕將很好地解決這個問題,但是如果我打開一個巨大的項目並且必須改變所有的路線以使其工作,那麼從長遠來看這不是一個可行的選擇。 – Reimius

+0

如果您只在您的Mac上的副本上添加了圓角按鈕,您能告訴我嗎?該按鈕沒有標題,所以我認爲你添加了它。 – MacTeo

+0

這非常奇怪......我只是重新導入了我工作場所的所有項目,並且渲染效果很好。我不知道爲什麼他們之前都很有趣,但現在它正在工作,idc。感謝您的幫助。我相信你的解決方案將解決這個問題,所以我會將其標記爲已回答。 – Reimius