2012-07-01 26 views
1

我有一個控件和一個容器,首先指定容器的寬度。之後,我將控件添加到容器中。如何告訴容器將子控件水平放置在中心?我想自己指定y值。iOS:如何將控件放置在父容器的中心?

+0

那麼,你有什麼嘗試? –

+0

我自己計算座標並尋求SDK的支持。 –

回答

5

對於數學是:

control.x = (container.width - control.width)/2

如果這不是你要找的人,讓我知道,我會盡力幫助!

+3

您可能希望「floor()」結果,以免在非視網膜顯示中出現錯位。 –

11

試試這個:

childControl.center = parentControl.center; 

,或者如果你只想水平居中:

childControl.center = CGPointMake(childControl.center.x,parentControl.center.y); 

比做數學更容易。

編輯: 當上海華有parentControl視圖的大小相同,該這麼想的有它的超視圖的大小相同視圖內做到這一點這隻作品中,你可以這樣做:

childControl.center = CGPointMake(childControl.center.x, 
            parentControl.bounds.size.height/2); 

我還沒有測試過上面的線,但它應該工作,如果它不讓我知道,我會測試它我的自我。

+1

我發現第一種方法並不是真正的方法,因爲父視圖和子視圖的中心在不同的座標系中表示。它只適用於父視圖佔用全屏幕的情況。 – Anurag

+0

是的你是對的,中心是基於超級觀點計算的,對此抱歉。我會添加一個澄清。 – Raspu

相關問題