2010-07-04 25 views
0

我在視圖中有多個文本框(不是滾動視圖); 2特別是並排,都是在IB中創建的。在視圖中水平移動文本框

我使用相同的.xib超過1個輸入屏幕。所有文本字段都顯示在鍵盤上方,所以覆蓋這些字段的鍵盤不是問題。

在一些屏幕上,我只需要兩個並排文本框中的一個,所以我隱藏了另一個文本框。

僅出於美學目的,在隱藏一個字段的屏幕上,我想將其他文本字段向右或向左移動以居中保留的文本字段,將所有其他文本字段保留在屏幕信紙上。

獲取和移動文本字段中心的.center屬性似乎不適用於uitextfield。

任何想法,請

回答

0

.center應該對所有的UIView子類,包括的UITextField工作。
例如:

leftTextField.center = CGPointMake(100, 120); 

或者:

leftTextField.center = CGPointMake(containingView.bounds.size.width/2, containingView.bounds.size.height/2); 

您也可以通過更新.frame改變位置...

你能張貼你使用一些代碼,並沒有按」不要做這項工作?

編輯:修改了第二個代碼示例...

+0

謝謝。我現在使用textFieldLeft.center = CGPointMake(textFieldLeft.center.x + 75,textFieldLeft.center.y);而且工作得很好。我正在努力與textFieldLeft.center.x部分。當你提到更新框架時,我想到了.frame.origin.x語法,並認爲我會嘗試類似的東西,並且它能夠工作。我以前的嘗試正在編譯和運行,只是沒有移動領域。再次感謝。 – 2010-07-05 01:50:47

+0

並根據您的第二個代碼示例,此工作也很好: textFieldLeft.center = CGPointMake(self.view.bounds.size.width/2,textFieldLeft.center.y); – 2010-07-05 02:02:52

+0

很高興幫助。順便說一句,你有沒有想過爲什麼你的嘗試不起作用?也許你試過'leftTextField.center.x = containsView.bounds.size.width/2;'?如果是這種情況,那麼請記住,爲了更改框架,邊界或中心屬性,您必須更改整個結構 - 您不能只修改其中的一部分... – 2010-07-05 14:39:41