IQKeyboardManager不适用于视图控制器中的文本字段?

问题描述:

我在我的登录视图控制器中成功导入了IQKeyboardManger。从那以后,我加入这个代码IQKeyboardManager不适用于视图控制器中的文本字段?

//在viewDidLoad中

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 

    //IQKeyboardManager 
    [[IQKeyboardManager sharedManager] setEnable:YES]; 

    [[IQKeyboardManager sharedManager] setKeyboardDistanceFromTextField:100]; 

    [[IQKeyboardManager sharedManager] setEnableAutoToolbar:YES]; 

    [[IQKeyboardManager sharedManager] setShouldShowTextFieldPlaceholder:YES]; 

    [self.ad.window makeKeyAndVisible]; 

} 

但它不是在iOS的工作11.0

屏幕1

enter image description here

屏幕2

enter image description here

我在应用程序委托添加的代码

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
self.mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil]; 

//Identify launching status(Is first time or not) 
//If it is first time go to login page 
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"]) { 
    self.lpvc = [self.mainStoryboard instantiateViewControllerWithIdentifier:@"LPVC"]; 
    self.window.rootViewController = self.lpvc; 
    NSLog(@"Launched first time"); 
    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 

    //IQKeyboarbManager 
    [[IQKeyboardManager sharedManager] setEnable:YES]; 
//  [[IQKeyboardManager sharedManager] setKeyboardDistanceFromTextField:100]; 
    [[IQKeyboardManager sharedManager] setEnableAutoToolbar:YES]; 
    [[IQKeyboardManager sharedManager] setShouldShowTextFieldPlaceholder:YES]; 
} else { 
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"loggedin"]) { 
    self.rvc = [self.mainStoryboard instantiateViewControllerWithIdentifier:@"RVC"]; 
    self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:self.rvc]; 
     NSLog(@"Already launched"); 
     [self getDataFromServer]; 
//   [self.rvc checkAppVersion]; 
    } 
} 

[self.window makeKeyAndVisible]; 

return yes; 
+0

有何利用这一[self.ad.window makeKeyAndVisible] –

+0

究竟什么不行?你在期待什么? – Glenn

+0

@ Anbu.Karthik我不完全一样,我从这个链接复制..... http://www.binpress.com/app/iqkeyboardmanager/1869 – iOS

复制该代码AppDelegate

AppDelegate.m

#import "AppDelegate.h" 
#import "IQKeyboardManager.h" 

@implementation AppDelegate 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
//ONE LINE OF CODE. 
//Enabling keyboard manager(Use this line to enable managing distance between keyboard & textField/textView). 
[[IQKeyboardManager sharedManager] setEnable:YES]; 

//(Optional)Set Distance between keyboard & textField, Default is 10. 
//[[IQKeyboardManager sharedManager] setKeyboardDistanceFromTextField:15]; 

//(Optional)Enable autoToolbar behaviour. If It is set to NO. You have to manually create UIToolbar for keyboard. Default is NO. 
[[IQKeyboardManager sharedManager] setEnableAutoToolbar:YES]; 

//(Optional)Setting toolbar behaviour to IQAutoToolbarBySubviews to manage previous/next according to UITextField's hierarchy in it's SuperView. Set it to IQAutoToolbarByTag to manage previous/next according to UITextField's tag property in increasing order. Default is `IQAutoToolbarBySubviews`. 
//[[IQKeyboardManager sharedManager] setToolbarManageBehaviour:IQAutoToolbarBySubviews]; 

//(Optional)Resign textField if touched outside of UITextField/UITextView. Default is NO. 
//[[IQKeyboardManager sharedManager] setShouldResignOnTouchOutside:YES]; 

//(Optional)Giving permission to modify TextView's frame. Default is NO. 
//[[IQKeyboardManager sharedManager] setCanAdjustTextView:YES]; 

//(Optional)Show TextField placeholder texts on autoToolbar. Default is NO. 
[[IQKeyboardManager sharedManager] setShouldShowTextFieldPlaceholder:YES]; 

[self.window makeKeyAndVisible]; 
return YES; 
} 

,它会正常工作。

注:请确保您有更新到最新版本(5.0.3)

+0

对我没有用....它不工作 – iOS

+0

是我昨天通过豆荚, – iOS

+0

我在AppDelegate添加代码是self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]界限]]; self.mainStoryboard = [UIStoryboard storyboardWithName:@“Main”bundle:nil]; //识别启动状态(是否第一次)//如果是第一次进入登录页 – iOS