IOS - 获取UITextField的输入文本

当UITextField文本改变时, 依据内容更新数据, 通过写监听事件就可以.
加入监听:

[timesField addTarget:self
               action:@selector(textFieldDidChange:)
     forControlEvents:UIControlEventEditingChanged]; // 监听事件

监听事件:

// 监听改变button
- (void) textFieldDidChange:(UITextField*) sender {

    // 文本内容
    NSInteger times = [sender.text integerValue];
    [_serviceNumList replaceObjectAtIndex:_servicePos withObject:[NSNumber numberWithInteger:times]];

    // 总价
    _totalPrice = (float)([_goodsList[_servicePos][@"Price"] floatValue]/100.0)*[[_serviceNumList objectAtIndex:_servicePos] integerValue];
    [_totalPriceLabel setText:[NSString stringWithFormat:@"%0.1f", _totalPrice]];
}

其余UITextField属性:

        // 输入框
        UITextField *timesField = [[UITextField alloc] initWithFrame:CGRectMake(200*kViewRatio, 10*kViewRatio, 32*kViewRatio, 20*kViewRatio)]; // 位置大小
        [timesField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型
        NSAttributedString* timesText =[[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%ld", (long)[[_serviceNumList objectAtIndex:row] integerValue]]]; // 设置文字
        [timesField setAttributedText:timesText];
        [timesField setFont:[UIFont systemFontOfSize: 12*kViewRatio]]; // 文字大小
        [timesField setTextAlignment:NSTextAlignmentCenter]; // 文字位置
        [timesField setDelegate:self]; // 限制长度
        [timesField addTarget:self
                       action:@selector(textFieldDidChange:)
             forControlEvents:UIControlEventEditingChanged]; // 监听事件
        [itemView addSubview:timesField]; // 加入父视图

娱乐

posted @ 2018-02-04 20:16  zhchoutai  阅读(2039)  评论(0编辑  收藏  举报