J'ai une classe qui communique avec un service Web et est utilisée dans toute l'application. Ce que je cherche est un moyen d'afficher un message d'erreur dans une UIActionSheet en plus de ce que l'utilisateur est dans l'affichage. Y at-il un moyen facile de le faire? Je voudrais éviter les méthodes de rappel dans chaque vue si possible.Existe-t-il un moyen de détecter ce que UIView est actuellement visible?
Répondre
Si vous utilisez le code dans l'autre réponse, votre application sera rejetée lorsqu'elle sera envoyée à l'app store (pour l'utilisation d'une API non publique). Je l'ai trouvé à la dure. Une meilleure solution consiste à créer une catégorie. Voici ce que je pour remplacer le code dans la solution originale:
@interface UIView (FindFirstResponder)
- (UIView *)findFirstResponder;
@end
Et
@implementation UIView (FindFirstResponder)
- (UIView *)findFirstResponder
{
if (self.isFirstResponder) {
return self;
}
for (UIView *subView in self.subviews) {
UIView *firstResponder = [subView findFirstResponder];
if (firstResponder != nil) {
return firstResponder;
}
}
return nil;
}
@end
Ce que vous voulez faire est de trouver le premier répondeur de la fenêtre clé que je pense. Vous pouvez le faire comme ceci:
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView *firstResponder = [keyWindow performSelector:@selector(firstResponder)];
Cela devrait vous donner la vue à utiliser dans votre appel à la UIActionSheet.
qui l'a fait. Merci. – respectTheCode
Juste pensé que vous aimeriez savoir que si vous soumettez votre application avec le code ci-dessus, il sera rejeté pour une utilisation api non publique. Cela m'est arrivé. –
- 1. Comment savoir si un UIView est visible et à l'écran?
- 2. Détection si une chaîne particulière est actuellement visible sur TextField()
- 3. Est-ce que generator.next() est visible dans python 3.0?
- 4. Est-ce que addSubview de UIView conserve vraiment la vue?
- 5. Comment puis-je savoir si un contrôle Delphi est actuellement visible?
- 6. Y at-il un moyen de vérifier que la fenêtre en cours d'un autre programme est totalement visible?
- 7. Est-ce que Windows peut détecter quand un moniteur, une souris, un clavier est déconnecté?
- 8. Existe-t-il un moyen de détecter si Flash est au-dessus du navigateur?
- 9. Est-ce que cette façon de détecter les battements de cœur est sûre et cohérente?
- 10. Est-ce que Caliburn fournit un moyen d'obtenir une référence au conteneur de n'importe où?
- 11. Est-ce que ce setter est 'diabolique'
- 12. Est-ce que groovy a un moyen facile d'obtenir un nom de fichier sans l'extension?
- 13. Existe-t-il un moyen de vérifier si l'utilisateur est actuellement inactif?
- 14. "System.InvalidOperationException: l'objet est actuellement utilisé ailleurs" - comment résoudre ce problème?
- 15. Existe-t-il un moyen de vérifier si un combobox ou un listboxitem est visible à l'écran?
- 16. Comment est-ce que je peux lier par programme un UIView ou UIImageView avec un événement comme "retouche à l'intérieur"?
- 17. Est-ce que quelqu'un connaît un moyen de déboguer des grammaires d'arborescence dans ANTLRWorks
- 18. Est-ce que cela peut être un moyen efficace et fiable pour purifier l'entrée de l'utilisateur?
- 19. Est-ce que .NET a un moyen de résoudre une chaîne nulle en String.Empty?
- 20. Existe-t-il un moyen de détecter si un objet est verrouillé?
- 21. Existe-t-il un moyen de détecter quand un panneau de mise à jour est actualisé?
- 22. Est-ce que cette hwnd est un de mes enfants?
- 23. Est-ce un bon moyen de faire JS OOP?
- 24. Un moyen simple de détecter les clés de propriétés inutilisées?
- 25. Performance: UIView dans un UIView ou remplacez le UIView?
- 26. Est-ce que Silverlight a un VirtualizingStackPanel?
- 27. Est-ce un moyen sûr d'initialiser un [ThreadStatic]?
- 28. Est-ce un bon moyen d'être root dans un makefile?
- 29. Existe-t-il un moyen de détecter le téléchargement annulé?
- 30. Est-ce que VB6 a un équivalent de #pragma pack?
Merci pour la tête sur celui-ci. – respectTheCode