Tôi biết tôi có thể hơi muộn cho bữa tiệc nhưng tôi chắc chắn điều này có thể giúp các lập trình viên tương lai phải đối mặt với cùng một tình huống.
Bạn có thể muốn tạo ra một loại để làm cho nó dễ dàng hơn để sử dụng trên nhiều ứng dụng như thế này:
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
Ví dụ sử dụng:
[self.dateTextField setLeftPaddingText:@"DATE:" width:defaultWidth];
Nguồn
2015-05-15 03:40:01
Tại sao mã bẩn? – Johannes
@Johannes rất nhiều giá trị hardcoded cho rects, màu sắc, vv .... Ngoài ra, tôi không chắc chắn tôi sẽ làm điều đó trên bộ điều khiển xem, có vẻ như xem logic, không logic điều khiển với tôi. – pgb