2017-10-11 9 views
0

J'ai importé IQKeyboardManger avec succès dans mon contrôleur de connexion. Après que j'ai ajouté ce codeIQKeyboardManager ne fonctionne pas pour les champs de texte dans le contrôleur de vue?

// Dans 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]; 

} 

Mais il ne fonctionne pas dans iOS 11.0

écran 1

enter image description here

écran 2

enter image description here

I ajouté code délégué app

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

ce qui est l'utilisation de ce [self.ad.window makeKeyAndVisible]; –

+0

Qu'est-ce qui ne fonctionne pas exactement? Qu'attendez-vous? – Glenn

+0

@ Anbu.Karthik Je ne sais pas exactement, j'ai copié à partir de ce lien ..... http://www.binpress.com/app/iqkeyboardmanager/1869 – iOS

Répondre

0

Copiez ce code pour 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; 
} 

et cela fonctionnera très bien.

Remarque: Assurez-vous de la mise à jour à la dernière version (5.0.3)

+0

Pas d'utilisation pour moi .... ça ne fonctionne pas – iOS

+0

Oui, j'ai ajouté hier à travers les pods, – iOS

+0

Mon code dans AppDelegate est self.window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bornes]]; self.mainStoryboard = [UIStoryboard storyboardWithName: @ Bundle "principal": néant]; // Identifier le statut de lancement (est la première fois ou pas) // Si c'est la première fois, allez à la page de connexion – iOS