Paramètre nombre maximal de lignes d'entrée sur UITextView
Je voudrais empêcher l'utilisateur de mon iPad
application pour entrer un maximum de 20 lignes lors de la sortie sur le pdf. L'utilisateur saisit du texte dans le UITextView
(comme illustré ci-dessous), puis, plus tard converti en un document pdf.
Je me rends compte que je vais avoir à faire un peu de calculs, selon ce texte est entré en cours de saisie. Existe-il des méthodes qui peuvent m'aider ici? textFieldDidEndEditing
ne m'autorise qu'à vérifier après qu'il a été entré.
Aussi, que ce serait beaucoup plus simple, est-il un moyen de limiter le nombre de lignes d'un UITextField
peut être?
Vous pouvez utiliser le
Merci - je vais vérifier cette méthode.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
délégué méthode dans le champ de texte pour le retour PAS de si les caractères que l'utilisateur est sur le point d'entrer du texte trop long. Je ne connais pas de bonne façon de faire cette détermination.Merci - je vais vérifier cette méthode.
OriginalL'auteur RGriffiths | 2013-10-20
Vous devez vous connecter pour publier un commentaire.
Vous avez été proche avec le
textFieldDidEndEditing
méthode du délégué.Une meilleure façon, cependant, est de répondre à la
textView:shouldChangeTextInRange:replacementText:
délégué de la méthode et ensuite de voir si le changement est sur le point d'arriver, résultat de plus de lignes qui sont autorisés.Voici un exemple sur la façon de le faire:
J'ai mis un exemple complet en ligne à https://github.com/st3fan/StackOverflow/tree/master/TextViewWithLineLimit .. testé sur iOS 7.0.2. Profitez-en!
Ce n'est pas aider avec les lignes, car il semble juste pour les caractères de saut de ligne.
J'ai juste regardé cela et comme Jesse dit, cela ne tient pas compte d'un long morceau de texte enveloppé. Néanmoins, il ne me montrer comment faire pour vérifier le texte que l'utilisateur tape - merci
OriginalL'auteur Stefan Arentz
Les ouvrages suivants, avec des '\n' + enveloppé de soutien en ligne.
self.AutocorrectionType = UITextAutocorrectionTypeNo;
?Pas vraiment. Il est juste. 🙂
Le code fonctionne bien merci. Cependant, j'ai trouvé un cas limite: 1. Définissez le nombre maximal de lignes à-dire, DEUX. 2. Type jusqu'à ce que le texte déborde sur la fin de la deuxième ligne. 3. Appuyez Sur "Retour". La nouvelle ligne sera permis et il va sur la TROISIÈME ligne! EEK!
Fantastique code, fonctionne comme un charme. Merci 🙂
OriginalL'auteur Sebastian Dwornik
De limiter le nombre de lignes dans le UITextView, je viens de faire :
Dans la suite de UITextViewDelegate méthode :
OriginalL'auteur Numereyes
beaucoup plus facile est de faire comme:
Swift:
Obj-C:
OriginalL'auteur KostiaZzz