मुझे उम्मीद है कि आप लोगों को पहले से ही उन सभी को पढ़ने का एक समाधान मिल गया था। लेकिन मैंने अपना समाधान इस प्रकार पाया। मैं उम्मीद कर रहा हूं कि आपके पास पहले से एक सेल है UITextField
। इसलिए तैयारी के समय केवल पंक्ति सूचकांक को पाठ क्षेत्र के टैग में रखें।
cell.textField.tag = IndexPath.row;
नीचे के रूप में वैश्विक गुंजाइश activeTextField
के UITextField
साथ एक , उदाहरण बनाएँ :
@interface EditViewController (){
UITextField *activeTextField;
}
तो, अब आप अंत में मेरे कोड को कॉपी पेस्ट करें। और जोड़ने के लिए भी मत भूलनाUITextFieldDelegate
#pragma mark - TextField Delegation
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
activeTextField = textField;
return YES;
}
- (void)textFieldDidEndEditing:(UITextField *)textField{
activeTextField = nil;
}
रजिस्टर कीबोर्ड notifications
#pragma mark - Keyboard Activity
- (void)registerForKeyboardNotifications
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillBeHidden:)
name:UIKeyboardWillHideNotification object:nil];
}
कीबोर्ड संभालती है Notifications
:
जब कहा जाता है UIKeyboardDidShowNotification
भेजा है।
- (void)keyboardWasShown:(NSNotification*)aNotification
{
NSDictionary* info = [aNotification userInfo];
CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0);
[self.tableView setContentInset:contentInsets];
[self.tableView setScrollIndicatorInsets:contentInsets];
NSIndexPath *currentRowIndex = [NSIndexPath indexPathForRow:activeTextField.tag inSection:0];
[self.tableView scrollToRowAtIndexPath:currentRowIndex atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
कहा जाता है जब UIKeyboardWillHideNotification
भेज दिया जाता है
- (void)keyboardWillBeHidden:(NSNotification*)aNotification
{
UIEdgeInsets contentInsets = UIEdgeInsetsZero;
[self.tableView setContentInset:contentInsets];
[self.tableView setScrollIndicatorInsets:contentInsets];
}
अब एक चीज शेष है, registerForKeyboardNotifications
विधि को ViewDidLoad
विधि के रूप में कॉल करें :
- (void)viewDidLoad {
[super viewDidLoad];
// Registering keyboard notification
[self registerForKeyboardNotifications];
// Your codes here...
}
आप कर रहे हैं, आशा है कि आपका textFields
कीबोर्ड द्वारा छिपाया नहीं जाएगा।