티스토리 뷰

반응형

안녕하세요! 

혹시 textField에서 줄바꿈/높이조정을 하시는데서 문제가 생기셨나요?



먼저 높이조정을 하는 방법을 알려드리겠습니다.


텍스트필드를 하나 추가해주세요 :) 

이미 추가되있으시면


추가한 텍스트필드를 클릭해주세요. 그러면, 




현재 Border Style이 가장 오른쪽으로 지정이 된 것을 볼 수 있습니다. 


현재 왼쪽 텍스트필드를 보시면 너비는 조절할 수 있지만, 

높이는 조정을 못하죠?


가장 오른쪽을 제외한 나머지 스타일들을 누르게되면!!









왼쪽 텍스트필드에 높이를 조정할 수 있게 바뀌었네요!!


늘려볼까요? 


원하는 크기만큼 늘려주시고 실행시키면!!



훌륭하게 커진 것을 볼 수 있습니다. 

텍스트를 엄청 많이 넣을 수 있을 것 같네요?


넣어봅시다!!




?




이게 무슨상황이죠?

우리는 텍스트필드에 너비만큼 글이 채워지면 자동으로 다음줄로 넘어가는

그런 아름다운 텍스트 필드를 바랬는데 말이죠.......



저희가 바라는 아름다운 상황은 어떻게 만들까요?

결론부터 말하면 TextView를 통해 해결 할 수 있습니다.


TextView를 추가해준뒤, 실행시켜 보시고 글을 써보세요.

왜 이럴까요?

이유는 TextField와 TextView의 차이점 때문인데요.




TextView : 

여러 줄의 텍스트를 처리하는데 용이한 컨트롤러로 UIScrollView를 상속 받았다.     

placeholder 없음

                         

TextField : 

단일 줄의 텍스트 처리하는데 용이한 컨트롤러로 UIControl를 상속 받았다.

placeholder 있음






즉, 여러줄을 쓰고싶다면 TextView를 사용해야 합니다.

이걸 몰라서 헤매고 있었네요...ㅎㅎ


그리고 placeholder가 뭔지 모르시는 분들을 위해 설명드리자면,

설명보다는 한번 보시면 바로 이해가 가실거에요 :)




저것이 placeholder라는 것입니다. 왼쪽은 textField구요.


textView는 placeholder를 추가 할 수 없답니다.



그리고 처음 TextView를 추가하면



이렇게 네모 선이 없습니다 ㅎㅎ..


실행을 시켜보면




불편하지 않으실 수도 있지만!!!

저는 이게 뭔가 싶었어요.


"Background색을 지정할 수는 있지만 

테두리 선은 니 알아서 하렴 ㅎㅎ"


도 아니고 말이죠...



분명 TextView의 테두리 선을 주지 않은 이유가 있을 거라 생각은 하지만

혹시나 테두리 선을 주고 싶으신 분들에게 그 방법을 알려드리고자 합니다.


코드를 통해 테두리 선을 줄 수 있는데요,




self.memo.layer.borderWidth = 1.0

self.memo.layer.borderColor = UIColor.black.cgColor




memo는 저의 텍스트뷰 이름입니다.
borderWidth는 테두리의 두께를 뜻해요. 값을 크게 줄수록 두꺼워지겠죠?
borderColor는 당연히 테두리의 색깔을 의미하는 것 같네요 ㅎㅎ

위 코드를 viewDidLoad에 넣어주시면!!




이렇게 테두리 선이 생기게 됩니다 ㅎㅎ

도움이 되었으면 좋겠어요 :)
지적은 환영입니다


반응형
댓글
  • 프로필사진 ㅎㅈ http://stackoverflow.com/questions/1345561/how-to-create-a-multiline-uitextfield
    textField에 트릭을 줘서 멀티라인을 할 수도 있는것같습니다. 한번 참고해보세요!
    2017.02.08 15:13
댓글쓰기 폼
반응형
Total
3,525,890
Today
3,132
Yesterday
3,543