当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]; // 加入父视图

IOS - 获取UITextField的输入文本-LMLPHP

05-11 19:35