ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • UITextField
    iOS/Objective C 2015. 11. 16. 21:18

    텍스트 필드를 생성하기 편하게 만들어 놨습니다.

    더 좋은 방법이있다면 댓글로 달아주시면 감사드리겠습니다.



    - (UITextField*) setCoCoTextfield:(CGRect)rect

     backImage:(NSString*)imageName 

    textColor:(UIColor*)textColor

     fontSize:(UIFont*)font 

    firstReadMessage:(NSString*)readMessage

     messageColor:(UIColor*)messageColor

     whereView:(UIView*)view

     setKeyboardType:(UIKeyboardType)type

     userInteractionEnabled:(BOOL)enabled 

    setTag:(NSInteger)tag

    {


    //텍스트 필드의 뒷 배경을 설정합니다. 태그값은 tag로 받되 remove해주실때 태그를 같이 입력하시면됩니다.


    //텍스트 필드 자체에 이미지를 넣어도 좋지만, 정확하고 예쁘게 넣기위해 넣어봤습니다. 때에따라 사용하면됩니다.


    //스트레칭을 해놓았기때문에 사용자의 편의에따라 다르게 넣어주시면 됩니다.

        UIImage* setimage = [[UIImage imageNamed:imageName] 

    resizableImageWithCapInsets:UIEdgeInsetsMake(10, 10, 10, 10) resizingMode:UIImageResizingModeStretch];


        UIImageView* idimage = [[UIImageView alloc] initWithFrame:rect];

        [idimage setImage:setimage];

        [idimage setUserInteractionEnabled:enabled];

        [view addSubview:idimage];


        //텍스트필드를 생성해주고

        UITextField* textfield = [[UITextField alloc] initWithFrame:

    CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)];


        //텍스트 필드를 선택가능하게 만들어줍니다. 문자를 입력받기 위함.

        [textfield setUserInteractionEnabled:enabled];


        //텍스트 필드 입력시 우측에 클리어버튼이 나오게끔 해줍니다.

        [textfield setClearButtonMode:YES];


        //델리게이트를 사용하기 위해 self 를 넣어놓습니다.

        [textfield setDelegate:self];


        //폰트는 UIFont를 사용합니다. [UIFont systemFontOfSize:12]...

        [textfield setFont:font];


        //텍스트 색상도 설정합니다.

        [textfield setTextColor:textColor]; 

        

        //텍스트를 입력하기전에 무엇을 입력할 것인지 알려주는 메세지에 색상을 설정합니다.

        [textfield setAttributedPlaceholder:[[NSAttributedString alloc

    initWithString:readMessage

    attributes:@{NSForegroundColorAttributeName:messageColor}]]; 


        //UIKeyboardTypeEmailAddress.UIKeyboardTypeNumberPad...//키보드 타입을 설정합니다.

        [textfield setKeyboardType:type]; 


        //태그를 설정해줍니다 나중에 remove하기 편하기위해.

        [textfield setTag:tag];


        //글자 정렬을 설정해줍니다.(default = center)

        [textfield setTextAlignment:NSTextAlignmentCenter]; 


        //그려줍니다.

        [view addSubview:textfield];

        return textfield;

    }


    사용 예)

        UITextField* tf = [self

                            setTextfield:CGRectMake8, 10, 55, 29)

                            backImage:@"이미지 이름"

                            textColor:[UIColor whiteColor]

                            fontSize:[UIFont boldSystemFontOfSize:12]

                            firstReadMessage:@"문자를 입력해주세요."

                            messageColor:[UIColor redColor]

                            whereView:self.view

                            setKeyboardType:UIKeyboardTypeNumberPad

                            userInteractionEnabled:YES

                            setTag:100];






    댓글