您好,登錄后才能下訂單哦!
首先,我們在ViewController.h中
@interface ViewController : UIViewController<UITextFieldDelegate>
@property (strong, nonatomic) UIScrollView* scrollView;
@property (strong, nonatomic) UITextField* textField;
@end
之后在ViewController.m
@implementation ViewController
- (void)viewDidLoad
{
[superviewDidLoad];
self.scrollView = [[UIScrollViewalloc] initWithFrame:CGRectMake(0, 0, 320, 600)];
[self.viewaddSubview:self.scrollView];
self.textField = [[UITextFieldalloc] initWithFrame:CGRectMake(50, 400, 100, 30)];
self.textField.backgroundColor = [UIColorwhiteColor];
[self.scrollViewaddSubview:self.textField];
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(textShowBegin:) name:UIKeyboardWillShowNotificationobject:nil];
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyBoardDidHidden) name:UIKeyboardWillHideNotificationobject:nil];
[self.textFieldaddTarget:selfaction:@selector(textFieldResign) forControlEvents:UIControlEventEditingDidEndOnExit];
}
-(void)keyBoardDidHidden
{
self.scrollView.contentInset = UIEdgeInsetsZero;
}
-(void)textFieldResign
{
[self.textFieldresignFirstResponder];
}
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
self.textField = textField;
}
-(void)textShowBegin:(NSNotification*)aNotification
{
NSDictionary* info = aNotification.userInfo;
NSLog(@"%@",info);
CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0, 0, kbSize.height, 0);
self.scrollView.contentInset = contentInsets;
//獲取整個視圖的大小和位置
CGRect aRect = self.view.frame;
aRect.size.height -= kbSize.height;
if (!CGRectContainsPoint(aRect, self.textField.frame.origin)) {
CGPoint scrollPoint = CGPointMake(0, self.textField.frame.origin.y - kbSize.height);
[self.scrollViewsetContentOffset:scrollPoint animated:YES];
}
}
下載地址 "TextFieldKB1119.zip" http://vdisk.weibo.com/s/Et2R_
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。