Как восстановить стиль текста EMail-App? - PullRequest
1 голос
/ 23 августа 2011

Я хочу иметь представление для отправки текста, подобное представлению отправки электронной почты из приложения электронной почты от Apple.(приложение электронной почты iPhone по умолчанию).

Я попробовал UIScrollView с 2 TextFields и 1 TextView, но это выглядит не очень хорошо, просмотр прокрутки не имеет функции, и представление не прокручивается при вводе текста в TextView (текст прячется в третьей строке, когда я набираю ...

Вот изображение: http://s3.imgimg.de/uploads/Bildschirmfoto20110823um1156940f792556940f791456940f79png.png

Это должно выглядеть так: http://a5.mzstatic.com/us/r1000/032/Purple/ea/4f/03/mzl.bxracfen.320x480-75.jpg

Каквосстановить?

1 Ответ

1 голос
/ 23 августа 2011

для прокрутки вниз, когда вы начинаете писать текст внутри UITextfield, используйте это:

   [yourScrollView scrollRectToVisible:CGRectMake(yourTextfield.frame.origin.x,yourTextField.frame.origin.y,yourScrollView.frame.size.width,yourScrollView.frame.size.height) animated:YES];    

Также, когда вы редактируете свой TextView (т.е. в методе textViewDidBeginEditing), уменьшите его фрейм, чтобы сделатьэто полностью видно.Затем, когда вы закончите редактирование текста (т. Е. В методе textViewDidEndEditing), установите рамку на то, чем она была изначально.

РЕДАКТИРОВАТЬ:

//add this in .h file
     NSInteger originalHeight;

//in .m file
- (void) textViewDidBeginEditing:(UITextView *)textView
{
       [yourScrollView scrollRectToVisible:CGRectMake(yourTextView.frame.origin.x,yourTextView.frame.origin.y,yourScrollView.frame.size.width,yourScrollView.frame.size.height) animated:YES];  

       //now set the frame
       //you just need to change the height, rest can be kept whatever they are
       //set the newHeight so as to make the textview visible

       originalHeight = yourTextView.frame.size.height;
       yourTextView.frame = CGRectMake(x,y,width,newHeight);

       //rest of the code
}

Теперь, когда редактирование завершено, установитевысота, как это было раньше.

- (void) textViewDidEndEditing:(UITextView *)textView
{
       yourTextView.frame = CGRectMake(x,y,width,originalHeight);
}
...