2012-03-14 3 views
0

Salut les amis, je veux créer une vue dans laquelle je peux ajouter des textes et des boutons. Et je veux maintenir la séquence. Comme dans une vue de texte je veux ajouter des textes puis des boutons puis encore des textes. Et aussi vouloir modifier dans la même zone. Je peux ajouter des boutons dans UITextview mais comment maintenir la séquence de texte que j'ai ajouté après le bouton et avant tout bouton? Existe-t-il un exemple de code pour cela?Ajouter des boutons et des textes dans UITextView

Je suis d'ajouter des boutons à UITextView par

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
myButton .frame = CGRectMake(100, myTextView.contentSize.height, 90, 30); 
[myButton setTitle:@"button text" forState:UIControlStateNormal]; 
[myTextView addSubview:myButton ]; 

mais je ne peux pas en mesure de déplacer le curseur après ce bouton.

+0

Essayez-vous de la mise en page du texte afin que le bouton (s) sont en ligne avec le texte, c'est-à-dire intégré dans le flux de texte? Si c'est le cas, cela peut être possible avec CoreText, mais je ne connais aucune solution existante. – FluffulousChimp

Répondre

0

Ne pouvez-vous pas ajouter les contrôles UILabel et UITextField de la même manière, en utilisant contentSize.height à chaque fois?

+0

non je veux ajouter des textes dans textview – PJR

+0

Vous allez devoir expliquer ce que vous entendez par "textes" ici - si vous ne parlez pas d'un contrôle de texte ou d'étiquette, essayez-vous de dire que vous voulez coller boutons au milieu d'une vue de texte et faire circuler le texte affiché dans le texte (avant et après)? – JTeagle

+0

oui ...........12 – PJR

0

Créer une sous-classe UIView pour le parent de l'affichage du texte et substituez type de test frappé de la manière suivante:

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { 

    // Check if the touch occurs within a rect or below a certain point 
    BOOL isInsidePassThroughArea = point.y + self.textView.contentOffset.y < 72.f; 
    if (isInsidePassThroughArea) { 
    return [self.contentView hitTest:point withEvent:event]; 
    } 

    return [super hitTest:point withEvent:event]; 
} 
Questions connexes