라벨이 ios개발 팁인 게시물 표시

[iOS 개발팁] UITextView에 placeholder 추가하기

텍스트 입력할 수 있는 UITextView, UITextField를 사용하다보면, "제목을 입력해주세요", "내용을 입력해주세요" 등의 placeholder 값을 넣을 경우가 많습니다.

기본적으로 UITextField에서는 placeholder 프로퍼티를 제공하지만, UITextView에서는 placeholder 제공하지 않지 않습니다.

내용과 같은 많은 텍스트를 입력해야하는 경우에는 UITextViewDelegate를 사용하여, 텍스트를 입력받기전, 입력받은 후에 "내용을 입력해주세요" 텍스트를 넣어주었다가, 지워주어야합니다.

굉장히 불편한데요, UITextView를 상속받아 클래스를 만들고, placeholder 와 같은 기능을 구현하여 이용하면 편리합니다.

먼저, UITextView를 상속받은 클래스는 만들고, PlaceholderTextView.h placeholder 변수를 생성합니다.

=============================================================================
#import <UIKit/UIKit.h>
@interface PlaceholderTextView : UITextView

@property (strong, nonatomic) NSString *placeholder;

@end =============================================================================
PlaceholderTextView.m 구현부의  drawRect 함수에서 UILabel를 만들어서 UITextView 위에 Add해줍니다. 그리고 UITextView의 값을 변경할때 함수로 호출할수 있도록 노티피케이션으로 등록합니다.

============================================================================= - (void)drawRect:(CGRect)rect { …