2013-05-01 109 views
0

在我的iPhone應用程序中,我有一個TextField輸入名稱和一個TextView來輸入描述。在我viewDidLoad方法中,我做TextView的更大的顯示器是否是4" 針對iPhone 5進行調整TextView的大小

if (IS_IPHONE_5) { 
     CGRect frameRect = self.eventDetails.frame; 
     frameRect.size.height = 160; 
     self.eventDetails.frame = frameRect; 
} 

也能正常工作時,認爲負荷,但如果我在文本字段中輸入第一,然後觸摸TextView的,在TextView縮小到原來的大小如果我先進入TextView,它不會縮小,只有當我進入TextField,然後進入TextView。有什麼辦法可以保持高度在160?

謝謝, Kev。

+1

其他地方你正在改變它的身高? – Rajneesh071 2013-05-01 15:18:16

+0

在這種情況下。嘗試以編程方式添加textField的大小。 – 2013-05-01 15:24:07

+0

這是我改變身高的唯一地方。當第一個響應者從textField中退出時,textView在Interface Builder中縮小到其大小。 resignFirstResponder之後必須發生什麼事情? – lavabuild 2013-05-01 16:07:45

回答

0

嘗試添加autoResizingMask,當視圖邊界更改時會自動更改,例如orienta灰。

[self.eventDetails setAutoresizingMask:UIViewAutoresizingFlexibleWidth]; 

其他值: UIViewAutoresizingFlexibleWidth
UIViewAutoresizingFlexibleRightMargin
UIViewAutoresizingFlexibleTopMargin
UIViewAutoresizingFlexibleHeight
UIViewAutoresizingFlexibleBottomMargin

+0

不,沒有喜悅仍然沒有工作。當第一個響應者辭職時,很想知道發生了什麼。 – lavabuild 2013-05-01 19:31:18

0

得到了從iOS開發論壇答案。

viewDidLoad方法不應該用於設置幀。嘗試將代碼移至viewDidLayoutSubviews方法。

相關問題