나는 파티가 좀 늦을 지 모르지만 나는 이것이 미래의 프로그래머들이 같은 상황에 직면 할 수 있다고 확신한다.
의 UITextField + PaddingLabel.h
#import <UIKit/UIKit.h>
@interface UITextField (PaddingLabel)
-(void) setLeftPaddingText:(NSString*) paddingValue width:(CGFloat) width;
-(void) setRightPaddingText:(NSString*) paddingValue width:(CGFloat) width;
@end
의 UITextField + PaddingLabel.m
:
당신은 쉽게 다음과 같이 여러 응용 프로그램에서 사용할 수 있도록 카테고리를 만들고 싶어 수도
#import "UITextField+PaddingLabel.h"
@implementation UITextField (PaddingLabel)
-(void) setLeftPaddingText:(NSString*) paddingValue width:(CGFloat) width
{
UILabel *paddingLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, self.frame.size.height)];
paddingLabel.text = paddingValue;
self.leftView = paddingLabel;
self.leftViewMode = UITextFieldViewModeAlways;
}
-(void) setRightPaddingText:(NSString*) paddingValue width:(CGFloat) width
{
UILabel *paddingLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, self.frame.size.height)];
paddingLabel.text = paddingValue;
self.rightView = paddingLabel;
self.rightViewMode = UITextFieldViewModeAlways;
}
@end
사용 예 :
[self.dateTextField setLeftPaddingText:@"DATE:" width:defaultWidth];
왜 더러운 코드입니까? – Johannes
@Johannes rects, colors, etc.에 대한 하드 코딩 된 값이 많습니다. 또한 뷰 컨트롤러에서 볼 수 있을지 모르겠지만 뷰 로직이나 컨트롤러 로직이 아닙니다. – pgb