獲取UITableViewCell中UITextField的值方法總結
UITableViewCell的contentView中的UITextField的值獲取有幾種方法,本人簡單總結一下。
1. 獲取UITextField所以Cell的NSIndexPath,知道了NSIndexPath就知道了這個UITextField是幹什麼的了。
可以在
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//get cell
UITableViewCell *cell = [UITableViewCell ][[textField superview] superview];
NSIndexPath *indexPath = [tableView indexPathForCell:cell];
}
或
- (void)textFieldDidEndEditing:(UITextField *)textField
{
//get cell
UITableViewCell *cell = (UITableViewCell *)[[textField superview] superview];
NSIndexPath *indexPath = [tableView indexPathForCell:cell];
}
中得知道UITextField中text是哪一個資料結構的值,前一個是實時的,後一個是失去焦點時一次性的。
2。第二種方法與上面第一個有點類似也是實時的,來自:http://blog.sina.com.cn/s/blog_9ca91e4a0100xlvu.html
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSInteger row = [indexPath row];
static NSString *CellIdentifier = @"CellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
cell.textLabel.text = [_passwordArray objectAtIndex:row];
CGRect textFieldRect = CGRectMake(0.0, 0.0f, 215.0f, 31.0f);
UITextField *theTextField = [[UITextField alloc] initWithFrame:textFieldRect];
theTextField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
theTextField.returnKeyType = UIReturnKeyDone;
theTextField.secureTextEntry = YES;
theTextField.clearButtonMode = YES;
theTextField.tag = row;
theTextField.delegate = self;
//此方法為關鍵方法
[theTextField addTarget:self action:@selector(textFieldWithText:) forControlEvents:UIControlEventEditingChanged];
switch (row) {
case 0:
theTextField.placeholder = @"請輸入舊密碼";
break;
case 1:
theTextField.placeholder = @"請輸入新密碼";
break;
case 2:
theTextField.placeholder = @"請再次輸入新密碼";
break;
default:
break;
}
cell.accessoryView = theTextField;
[theTextField release];
return cell;
}
- (void)textFieldWithText:(UITextField *)textField
{
switch (textField.tag) {
case 0:
self.theOldPassword = textField.text;
break;
case 1:
self.theNewPassword = textField.text;
break;
case 2:
self.theTwiceNewPassword = textField.text;
break;
default:
break;
}
}
相關文章
- python中取絕對值簡單方法總結Python
- C#獲取根目錄的方法總結C#
- layer父介面呼叫子彈窗的方法和獲取子彈窗的元素值總結
- UITableViewCell的高度快取UIView快取
- Python中獲取執行緒返回值的常用方法!Python執行緒
- python request 獲取cookies value值的方法PythonCookie
- gitlab cicd中獲取tag值的方式Gitlab
- python中獲取如何Series值Python
- 使用awk和sed獲取檔案奇偶數行的方法總結
- JavaScript 獲取選中checkbox核取方塊的值JavaScript
- 微信小程式獲取index索引值的方法微信小程式Index索引
- Laravel 中 $request 獲取請求資訊 用法 總結Laravel
- SpringBoot獲取HttpServletRequest的3種方式總結Spring BootHTTPServlet
- Java獲取Object中Value的方法JavaObject
- 通過url動態獲取圖片大小方法總結
- 15 ##### 適合繫結方法的場景:在物件中封裝值,在方法中讀取物件的值物件封裝
- 使用layui框架的select獲取選中的值UI框架
- JavaScript獲取css的值JavaScriptCSS
- 如何通過WinDbg獲取方法引數值
- js獲取裝置資訊的方法彙總JS
- 獲取的ajax方法return的返回值的問題解析
- 確保從列表中獲取可用值
- 【Azure Developer】使用 CURL 獲取 Key Vault 中 Secrets 中的值Developer
- pbootcms獲取結果頁面的搜尋keyword值和tag值boot
- win10怎麼獲取顏色值_win10系統獲取螢幕顏色HSL值RGB值方法Win10
- Laravel 中 faker 的方法總結Laravel
- 微信小程式 傳值取值的方法總結微信小程式
- Spring Boot EL獲取配置檔案中的值的方式Spring Boot
- 在js中獲取 input checkbox裡選中的多個值JS
- C#讀取Excel方法總結C#Excel
- android開發中如何動態獲取listview中的item的值AndroidView
- 7種Linux中獲取CPU速度的方法Linux
- 獲取方法
- Oracle中獲取TABLE的DDL語句的方法Oracle
- 在Linux中,如何獲取CPU的總核心數?Linux
- JS - 獲取CSS屬性值 getComputedStyle()與currentStyle()、style()方法JSCSS
- 如何獲取變數token的值變數
- 如何獲取變數 token 的值變數
- 用 js 獲取頁面元素的位置圖文總結JS