iOS中自定义UIView(用接口获取Lable和TextFile中的值)

  NSArray *arrayText = @[@"用户名",@"密码",@"确认密码",@"手机号",@"邮箱"];

    NSArray *placeholders = @[@"请输入用户名",@"请输入密码",@"请确认密码",@"请输入手机号",@"请输入邮箱"];
    NSInteger y = 30;
    for (int i = 0; i < 5; i++) {

        LTView *aView = [[LTView alloc] initWithFrame:CGRectMake(30, y, 280, 35)];

        //aView.backgroundColor = [UIColor redColor];

        [aView setDesLabelText:arrayText[i]];
        [aView setPlacehloder:placeholders[i]];
        [self.window addSubview:aView];
        [aView setDelegate:self];

        [aView release];

        if (i == 1 || i ==2) {

            [aView setSecureTextType:YES];
        }

        if (i == 3) {
            [aView setKeyboardType:UIKeyboardTypeNumberPad];
        }
        y += 45;

    }

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];

    [btn setTitle:@"注册" forState:UIControlStateNormal];

    btn.frame = CGRectMake(50, 270, 100, 40);

    //btn.backgroundColor = [UIColor redColor];

    [view addSubview:btn];

    UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeSystem];

    [btn1 setTitle:@"取消" forState:UIControlStateNormal];

    btn1.frame = CGRectMake(170, 270, 100, 40);

    //btn1.backgroundColor = [UIColor redColor];
    [view addSubview:btn1];

    [btn addTarget:self action:@selector(zhuce) forControlEvents:UIControlEventTouchUpInside];

     [btn1 addTarget:self action:@selector(quit) forControlEvents:UIControlEventTouchUpInside];

    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
   }

- (void)quit
{
    //NSLog(@"-----");
  //UIView *view = [self.window viewWithTag:50];
//    for (int i = 0; i < 5; i++) {
//        UITextField *fil = (UITextField *)[view viewWithTag:(100 * i) + 100];
//        fil.text = @"";
//    }
    [self.window endEditing:YES];

}

- (void)zhuce
{
//     UIView *view = [self.window viewWithTag:50];
//    for (int i = 0; i < 5; i++) {
//        UITextField *fil = (UITextField *)[view viewWithTag:(100 * i) + 100];
//        fil.text = @"=-====顶你肺==";
//    }

}

LTView.h(自定义的UIView,定义接口)

@interface LTView : UIView

//LTView 属于自定义的视图(组合视图),携带有坐label,又textField,两个控件只有LTView能狗识别,因此需要LTView给外界提供操作label和textFiedld访问接口
//给label设置文字的接口

- (void)setDesLabelText:(NSString *)text;

//给textField设置提示文字
- (void)setPlacehloder:(NSString *)text;

//给txtField 设置键盘接口
- (void)setKeyboardType:(UIKeyboardType)keyboardType;

//给textField设置密码格式
- (void)setSecureTextType:(BOOL)secureTextType;

- (NSString *)text;

//给textField设置代理的接口
- (void)setDelegate:(id<UITextFieldDelegate>)delegate;

@end

LTView.m(关键在重写initWithFrame方法)

#import "LTView.h"
@interface LTView ()
@property (nonatomic,retain) UILabel *desLabel;
@property (nonatomic,retain) UITextField *textField;
@end

@implementation LTView

/*

重写从父类继承来的initWithFrame:方法,在自定义视图初始化的时候完成自身控件的创建

 */
- (instancetype)initWithFrame:(CGRect)frame
{
    if(self = [super initWithFrame:frame])
    {
        //完成自身控件的创建

        //label
        [self setDescLabelWithWidth:frame.size.width / 3 height:frame.size.height];
        //textField
        [self setPlacehodlTextFieldWithWidth:frame.size.width / 3 * 2 height:frame.size.height];
    }
    return self;
}

//创建label
- (void)setDescLabelWithWidth:(CGFloat)width height:(CGFloat)height
{
    self.desLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, height)];
    //self.desLabel.backgroundColor = [UIColor redColor];
    [self addSubview:self.desLabel];

    [self.desLabel release];

}

//创建textField
- (void)setPlacehodlTextFieldWithWidth:(CGFloat)width height:(CGFloat)height
{
   self.textField = [[UITextField alloc] initWithFrame:CGRectMake(width / 2  , 0, width, height)];
    self.textField.borderStyle =UITextBorderStyleRoundedRect;
   // textfield.backgroundColor = [UIColor yellowColor];
    [self addSubview:self.textField];
    [self.textField release];
}

//给label设置文字的接口

- (void)setDesLabelText:(NSString *)text
{
    self.desLabel.text = text;
}

//给textField设置提示文字
- (void)setPlacehloder:(NSString *)text
{
    self.textField.placeholder = text;
}

//给txtField 设置键盘接口
- (void)setKeyboardType:(UIKeyboardType)keyboardType
{
    self.textField.keyboardType = keyboardType;
}

//给textField设置密码格式
- (void)setSecureTextType:(BOOL)secureTextType
{
    self.textField.secureTextEntry = secureTextType;
}
//获取textField中的文字
- (NSString *)text{
    return self.textField.text;
}
//给textField设置代理的接口
- (void)setDelegate:(id<UITextFieldDelegate>)delegate
{
    self.textField.delegate = delegate;
    //外界传入的参数是谁,谁就是这个textField的代理
}

- (void)dealloc
{
    [_desLabel release];
    [_textField release];
    [super dealloc];
}

@end
时间: 2024-08-06 21:34:17

iOS中自定义UIView(用接口获取Lable和TextFile中的值)的相关文章

Webkit IDL中自定义[命名]属性的获取(Getter)以及设置(Setter)函数

一.自定义命名属性的获取(Getter)以及设置(Setter)函数: [CustomNamedGetter](i), [CustomNamedSetter](i) 命名属性的W3C链接如下:?The spec of named properties (注意,下面描述的webkit行为和W3C的规范是不同的) 总结: [CustomNamedGetter] 或者 [CustomNamedSetter] 允许你为命名属性的getter或者setter编写自己的绑定函数. 用法如下: [ Custo

微信商城中使用微信支付接口获取用户地址

授人以鱼不如授人以渔 微信支付获取用户地址 使用微信获取地址信息是和微信支付一道申请的,微信支付申请通过,就可以使用该功能. 微信商城中,使用微信支付获取用户的收货地址,可以省略用户输入地址信息的繁复流程,提高用户体验. 但是可能是因为牵扯到用户隐私,所以在使用过程中,需要用户自己主动选择使用该功能,并且是通过点击的操作,我们才可以获取到用户的收货地址,这一点是要注意的. 操作流程如下: 1.用户打开购物车页面,点击结算,跳转到一个微信的oauth2的页面,地址为:https://open.we

python中len 小练习:获取并输出集合中的索引及对应元素

len()用来获取长度.字节等数值 1 a = ["hello", "world", "dlrb"] 2 b = len(a) 3 for c in range(0, b): 4 print(c, a[c]) 输出结果: 0 hello 1 world 2 dlrb 我们定义了集合a,通过len获取到集合中元素的个数赋值给变量b,在for循环中通过遍历从0到变量b区间得到所有的索引给变量c a[c]通过索引找到对应元素,最后print输出索引和对

jQuery中使用attribute,prop获取,设置input的checked值

1.prop方法获取.设置checked属性 当input控件checkbox设置了checked属性时,无论checked=""或 checked="checked",$(obj).prop("checked")的结果都是true: 当input控件checkbox没设置checked属性时,$(obj).prop("checked")的结果是false. 设置$("input[name='checkboxall'

jQuery中使用attribute,prop获取,设置input的checked值【转】

1.prop方法获取.设置checked属性 当input控件checkbox设置了checked属性时,无论checked=""或 checked="checked",$(obj).prop("checked")的结果都是true: 当input控件checkbox没设置checked属性时,$(obj).prop("checked")的结果是false. 设置$("input[name='checkboxall'

jquery中html()或text()方法获取或设置p标签的值

html()方法可以用来读取或者设置某个元素中的HTML内容,text()方法可以用来读取或者没置某个元素中的文本内容 html()方法 此方法类似于JavaScript中的innerHTML属性,可以用来读取或者设置某个元素中的HTML内容.要获取某个元素的内容,可以这样: var p_html = $("p").html(); //获取p元素的HTML代码 如果需要设置某元素的HTML代码,那么也可以使用该方法,不过需要为它传递一个参数.例如要设置p元素的HTML代码,可以使用如下

微信公众平台新增获取自动回复和自定义菜单配置接口

微信公众平台自动回复功能可以为运营者减少了重复回复消息的次数,但如果自动回复的数量多的话管理就比较麻烦:自定义菜单相当于你这个公众号的导航,但有些公众号会限制不能添加外部链接.现在好了,公众平台开发者接口更新,新增获取自动回复和自定义菜单配置接口,对所有公众号开放. 新增的接口具体是: 1. 获取自动回复规则接口 该接口可以获取公众号设置的自动回复规则,包括关注后自动回复.消息自动回复和关键词自动回复. 开发者可以通过该接口,获取公众号当前使用的自动回复规则,包括关注后自动回复.消息自动回复(6

iOS 为自定义tableView添加button点击事件后获取其序号

在自定义tableView中,为cell添加button点击事件后,如何获取其对应的序号? 1.创建tableView: 先创建一个成员变量: @interface MyCameraViewController ()<UITableViewDelegate,UITableViewDataSource> { UITableView *_tableView; }@end 在viewDidLoad中初始化 _tableView = [[UITableView alloc] initWithFrame

iOS开发中自定义字体的方法

http://www.cnblogs.com/iyou/archive/2014/05/25/3751669.html 1. 首先下载你想要设置的字体库,例如设置方正启体简体 2. 添加到工程,一定要注意勾选红色框框处,默认是不勾选的  添加以后 3.在plist文件中添加 4.现在已经添加成功了,但是要使用就必须知道FontName,用以下代码可查到 NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyName