2013-02-19 60 views
0

我試圖定位一個按鈕。試圖以編程方式定位按鈕,但不是在正確的位置根據X,Y

下面是定位代碼..

[btnAbs setFrame:CGRectMake(57, 50, 106, 99)]; 

共同座標我是從這裏:

enter image description here

正如你所看到的廈門國際銀行統計的X & y以在57和192,這是我想要的按鈕。

然而,當我在模擬器中運行,這裏是它的放置:

enter image description here

很顯然,我可以繼續猜測和猜測x和y座標,但是這是非常耗時。那麼它是如何做到這一點的? 請在觀看圖片時加入鏈接,因爲我需要10個以上的代表發佈圖片,或者修復此問題嗎?

+0

在哪個設備上運行模擬? iPad還是iPhone? – 2013-02-19 18:19:35

+0

iPhone 3.5「是設備 – 2013-02-19 18:56:31

回答

2

的問題是在這裏:

Interface Builder view settings

的「原點」在Interface Builder實際上並不影響視圖獲取如何定位程序,它只是一個視覺輔助。如果單擊該框左上角的點,則X和Y座標將更改爲視圖的左上角,這是要傳遞到-setFrame:的座標。

+0

它的奇怪,但它確實影響它。 GUI構建器的東西沒有出現在我認爲他們應該做的地方,因爲我已經在IB中選擇了不同的對齊機制。如果你在IB中查看他的圖像,放置顯示它只與左邊幾個像素,但是他的x座標是57 =〜106/2在IB中,它根據你的設置放置你的對象,但是在代碼中它只能用左上角來做。顯然你是正確的,不過它會以編程方式影響它:-) – trumpetlicks 2013-02-19 18:26:37

+0

嘿,完美的答案。非常感謝! :-) – 2013-02-19 18:57:59

1

它在我看來,好像你有GUI設計師基於圖像視圖的中心對齊。當你在代碼中執行它時,它將根據圖像視圖的左上角進行對齊。此外,您的代碼將它放置在50的y處,其中GUI設計器顯示y座標。 192。

+0

+1。在IB中將你的對齊設置爲左上角,你將得到正確的座標輸入到setFrame: – Taum 2013-02-19 18:22:13

相關問題