2010-11-23 15 views
3

J'essaie d'ajouter une image de fond à UITextView. L'image est juste une petite bordure qui sera placée en haut de l'affichage du texte. (l'image ressemble à une image de papier déchiré). J'utilise le code suivantiphone - problème avec l'image d'arrière-plan de uitextview

UIImageView *imgView = [[UIImageView alloc]initWithFrame: CGRectMake(0, 0, 320, 13)]; 
    imgView.image = [UIImage imageNamed: @"teared_paper.png"]; 
    [tView addSubview: imgView]; 
    [tView sendSubviewToBack: imgView]; 
    [imgView release]; 

La hauteur de mon texte est de 150 pixels seulement. (la vue de texte occupe seulement une petite partie de la vue et elle est en haut de la vue pour que l'utilisateur apparaisse quand le clavier est là)

Le problème est que lorsque j'ajoute plus de lignes de texte, je vois le texte est en train de défiler automatiquement. Et en même temps, l'image de fond que j'ai ajoutée défile également. Comment puis-je empêcher l'image d'arrière-plan de rester sur le dessus tout le temps sans tenir compte du défilement.

+0

vous pouvez le faire, mais vous devez noter que lorsque vous faites défiler la TextView - votre arrière-plan sera aussi défilée. Donc, la façon de battre est de mettre imageView derrière le textView et de définir [textView setBackgroundColor: [UIColor clearColor]]; – Nazir

Répondre

2

Au lieu de cela, avoir à la fois le point de vue de l'image et l'affichage du texte comme des enfants de la vue principale, la vue de l'image derrière le point de vue du texte et définir la couleur d'arrière-plan de la vue texte transparent avec:

[tView setBackgroundColor:[UIColor clearColor]]; 
+2

vous devez rigoler. Est-ce la seule façon d'y parvenir? C'est tellement choquant! –

1

Pouvez-vous essayer de placer un UIImageView derrière l'UITextView et rendre l'UITextView transparent? N'ajoutez pas l'affichage de l'image en tant que sous-vue de la vue de texte.

1

Essayez avec :

UIImageView *imgView = [[UIImageView alloc]initWithFrame: CGRectMake(0, 0, 320, 13)]; 
imgView.image = [UIImage imageNamed: @"teared_paper.png"]; 
[tView addSubview: imgView]; 
[imgView release]; 

assurez-textView transparent:

[textView setBackgroundColor:[UIColor clearColor]]; 

pas besoin d'apporter la sous-vue à l'avant.

espère que cela fonctionne pour u ..