IOS - 擷取UITextField的輸入文本
當UITextField文本改變時, 根據內容更新資料, 通過寫監聽事件即可.
添加監聽:
[timesField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; // 監聽事件
監聽事件:
// 監聽改變按鈕- (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]; // 添加父視圖