首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在UITextField子类中设置UITextField属性

如何在UITextField子类中设置UITextField属性
EN

Stack Overflow用户
提问于 2014-04-19 08:21:08
回答 1查看 1.4K关注 0票数 0

我有这个UITextField子类,我想将一个属性设置为UITextField的背景色、边框等。我不知道,如果我使用正确的方法,因为当我将这个类用于UItextField时,UITextField不会改变..我必须用哪种方法来声明这个属性?

代码语言:javascript
复制
#import "defaultUITextField.h"

@implementation defaultUITextField

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.delegate = self;
        [self setBackgroundColor:([UIColor redColor])];

        UIColor *borderColor = [UIColor colorWithRed:233.0/255.0 green:233.0/255.0 blue:233.0/255.0 alpha:233.0/255.0];

        self.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)];
        self.leftViewMode = UITextFieldViewModeAlways;

        self.layer.borderColor = [borderColor CGColor];
        self.layer.borderWidth = 1.0f;
    }
    return self;
}

@end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-19 08:25:44

你的解决方案似乎是对的。你是如何将你的suctom TextField放在视图上的?如果您在Interface中创建了TextField,那么您就高估了错误的构造函数。

代码语言:javascript
复制
- (id)initWithCoder:(NSCoder *)inCoder {
    if (self = [super initWithCoder:inCoder]) {
        self.delegate = self;
        [self setBackgroundColor:([UIColor redColor])];

        UIColor *borderColor = [UIColor colorWithRed:233.0/255.0 green:233.0/255.0 blue:233.0/255.0 alpha:233.0/255.0];

        self.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)];
        self.leftViewMode = UITextFieldViewModeAlways;

        self.layer.borderColor = [borderColor CGColor];
        self.layer.borderWidth = 1.0f;
    }
    return self;
}

当您在IB中创建UItextField并将其类更改为UITextField时,将调用此构造函数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23167701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档