Я знаю, что может быть немного опоздал на вечеринку, но я уверен, что это поможет будущим программистам, столкнувшимся с такой же ситуацией.
Вы могли бы хотеть создать категорию, чтобы сделать его проще в использовании нескольких приложений, как это:
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 много жестко закодированных значений для прямоугольников, цветов и т. Д. Кроме того, я не уверен, что буду делать это на контроллере представления, кажется логике просмотра, а не логикой контроллера для меня. – pgb