J'essaie de créer un clavier personnalisé pour un UITextField, l'arrière-plan de cette inputView doit être transparent, j'ai défini la couleur d'arrière-plan dans le fichier xib de la vue sur "clear color". Il fonctionne très bien sur iOS 6 et plus tôt .. mais sur iOS 7 cela ne fonctionne pas Toute idée comment puis-je le faire fonctionner? Je veux qu'il soit entièrement transparentUITextView inputView sur iOS 7
Répondre
Je suis à la recherche du même problème, car j'ai un pavé numérique qui ne remplit que la moitié gauche de l'écran en mode paysage (et est fondamentalement inutilisable sur iOS7 où l'effet de flou couvre l'ensemble largeur de l'écran). Je n'ai pas tout à fait compris comment obtenir ce que je veux (arrière-plan flou que derrière mon inputView réelle), mais je l'ai compris comment désactiver le flou entièrement:
- Définir une sous-classe personnalisée de UIView et préciser que dans votre fichier xib
dans cette dérogation classe willMoveToSuperview: comme suit
- (void)willMoveToSuperview:(UIView *)newSuperview { if (UIDevice.currentDevice.systemVersion.floatValue >= 7 && newSuperview != nil) { CALayer *layer = newSuperview.layer; NSArray *subls = layer.sublayers; CALayer *blurLayer = [subls objectAtIndex:0]; [blurLayer setOpacity:0]; } }
cela semble un impact sur l'arrière-plan de toutes les coutumes inputView je (mais pas le clavier du système) alors vous pourriez nè ed pour enregistrer/restaurer quelle que soit la valeur d'opacité normale lorsque votre inputView est supprimée de la vue d'ensemble si vous ne le souhaitez pas.
Ceci permet de définir l'opacité des fonds à zéro lors de l'affichage de votre clavier personnalisé et de le réinitialiser à 1 lorsque le clavier normal est affiché.
+ (void)updateKeyboardBackground {
UIView *peripheralHostView = [[[[[UIApplication sharedApplication] windows] lastObject] subviews] lastObject];
UIView *backdropView;
CustomKeyboard *customKeyboard;
if ([peripheralHostView isKindOfClass:NSClassFromString(@"UIPeripheralHostView")]) {
for (UIView *view in [peripheralHostView subviews]) {
if ([view isKindOfClass:[CustomKeyboard class]]) {
customKeyboard = (CustomKeyboard *)view;
} else if ([view isKindOfClass:NSClassFromString(@"UIKBInputBackdropView")]) {
backdropView = view;
}
}
}
if (customKeyboard && backdropView) {
[[backdropView layer] setOpacity:0];
} else if (backdropView) {
[[backdropView layer] setOpacity:1];
}
}
+ (void)keyboardWillShow {
[self performSelector:@selector(updateKeyboardBackground) withObject:nil afterDelay:0];
}
+ (void)load {
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(keyboardWillShow) name:UIKeyboardWillShowNotification object:nil];
}
iOS 7 fait certaines choses sous le capot qui ne sont pas documentées. Toutefois, vous pouvez examiner la hiérarchie des vues et ajuster les vues correspondantes en redéfinissant -willMoveToSuperview dans votre vue d'entrée personnalisée. Par exemple, ce code rendra la toile de fond transparente:
- (void)willMoveToSuperview:(UIView *)newSuperview {
NSLog(@"will move to superview of class: %@ with sibling views: %@", [newSuperview class], newSuperview.subviews);
if ([newSuperview isKindOfClass:NSClassFromString(@"UIPeripheralHostView")]) {
UIView* aSiblingView;
for (aSiblingView in newSuperview.subviews) {
if ([aSiblingView isKindOfClass:NSClassFromString(@"UIKBInputBackdropView")]) {
aSiblingView.alpha = 0.0;
}
}
}
}
- 1. UITextView inputView
- 2. UItextView iOS 7 numéro
- 3. iPad UIPopoverController ne va pas sur inputView dans UITextView
- 4. iOS - Rejeter UIDatePicker présenté comme inputView
- 5. comment utiliser la propriété inputView?
- 6. UITextView ContentSize.Hauteur trop élevée sur iOS 6
- 7. IOS UITextview: Mettre l'accent sur devenir respondersponder
- 8. Défilement automatique UITextView dans iOS ..
- 9. UITextView setBorderStyle plante dans iOS 5 Simulator
- 10. inputView et inputAccessoryView avant 3.2?
- 11. Pourquoi UITextView/UITextField ne peut pas implémenter l'UITextInput sur iOS
- 12. iOS - égalent la chaîne UITextView sur les différents viewController
- 13. iOS 6 Détection de lien UITextView Problème
- 14. UITextView entrée personnalisée (pas de clavier) iOS
- 15. iOS 7 UITextView: Taille de nstextattachment obtenant 2x après la réouverture de l'application
- 16. Annuler/rétablir avec UITextView (iOS/iPHone)
- 17. UITableView backgroundView gestures sur iOS 7?
- 18. Threading problème agit différemment sur ios 7
- 19. UIImagePickerController sur iOS 7: Mode carré?
- 20. Problème graphique avec UISearchBar sur iOS 7
- 21. iOS 7 uitabbar shows, invisible sur ios8
- 22. Alerte qui peut fonctionner sur iOS 7 et iOS 8
- 23. iOS UITextView Mise en surbrillance du texte
- 24. IOS Catégorie de jeu de catégories UITextView
- 25. iOS: Mise à l'échelle UITextView avec pincement?
- 26. iOS - nouveau caractère de ligne dans UITextView
- 27. TabBars et iOS 7
- 28. MultipeerConnectivityFramework dans iOS 7
- 29. iOS 7 AVPlayer durée AVPlayerItem incorrecte dans iOS 7
- 30. XCode 6.1, Autolayout & Size Classes- problèmes sur iOS 7 et non sur iOS 8