2013-05-01 4 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; 
} 

Это прекрасно работает, когда вид нагрузки, но если я вхожу на TextField первый, а затем коснуться TextView, то TextView сжимается до своего первоначального размера. Если я сначала вступаю в TextView, это не сжимается, только если я войду в TextField, а затем в TextView. Есть ли способ сохранить высоту в 160?

Спасибо , Kev.

+1

В другом месте вы меняете его высоту? – Rajneesh071

+0

в этом состоянии. попробуйте добавить размер текстового поля программно. –

+0

Это единственное место, где я меняю его высоту. Когда первый ответчик сбрасывается с текстового поля, TextView сжимается до его размера в Interface Builder. Что-то должно произойти после resignFirstResponder? – lavabuild

ответ

0

Попробуйте добавить autoResizingMask, который автоматически изменяется при изменении границ обзора, например orienta Тион.

[self.eventDetails setAutoresizingMask:UIViewAutoresizingFlexibleWidth]; 

других значения: UIViewAutoresizingFlexibleWidth
UIViewAutoresizingFlexibleRightMargin
UIViewAutoresizingFlexibleTopMargin
UIViewAutoresizingFlexibleHeight
UIViewAutoresizingFlexibleBottomMargin

+0

Нет, радости все еще не работает. Хотелось бы узнать, что происходит с мнением, когда первый ответчик ушел в отставку. – lavabuild

0

Получили ответ от Девых форумов IOS.

Метод viewDidLoad не должен использоваться для установки фреймов. Попробуйте переместить код в метод viewDidLayoutSubviews.

Смежные вопросы