2017-04-13 1 views
4

Je crée une application de correspondance de mots dans iOS dans laquelle j'ai deux parties de chaînes de mots et je veux faire un mot complet de deux étiquettes de mots aléatoires donc pour tout va bien.comment faire un rectangle à l'exécution pour y insérer une étiquette de mots traînée objectif c

Maintenant, je veux faire un rectangle à l'exécution comme une cible de l'étiquette draggable, lorsque je clique sur l'étiquette pour le faire glisser, le rectangle devrait être éclairé avec la même taille que la taille de l'étiquette des mots.

Comment puis-je réaliser cela dans objective-C?

Pour plus de clarté, vous pouvez voir dans l'image où je veux faire de ce rectangle vert au moment de l'exécution de laisser tomber les étiquettes du côté droit en elle

Les étiquettes du côté gauche ne sont pas mobiles et devraient toujours dans le rectangle que vous voir dans le code image.Procédé donné jusqu'à présent j'essaie de faire le rectangle comme UIView dans viewDidLoad comme

for(int i = 0; i <5;i++){ 
customView = [[UIView alloc]initWithFrame:CGRectMake(10,y,50, 30)]; 
    customView.backgroundColor = [UIColor greenColor]; 
[gameLayer addSubview:customView]; 
    y = y+40; 
} 

Mais ce n'est pas ce que je veux réellement. Toute aide appréciée ...

+0

UILabel ne contient pas l'utilisateur une action –

+0

peut glisser UILabel avec des touches .. – Sipa

+0

Parler de Pan Gesture. –

Répondre

2

Enfin j'ai obtenu la taille de rectangle même que la taille de l'étiquette tapée comme ici, je fais un tableau dans le fichier .h qui contient la référence de mon rectangle cible NSMutableArray *rectangleLabels après que je fasse la taille du rectangle même que la taille de mes étiquettes en utilisant une boucle draggable dans la méthode des gestes et taraudée il fonctionne très bien ...

-(void)gotTapped:(Id)sender { 
for (UIView *v in rectangleLabels) { 
    v.hidden = !v.hidden; 
    UILabel *tapLbl = (UILabel *)[sender view]; 
    CGRect rect = tapLbl.frame; 
    for(int i=0;i<rectangleLabels.count;i++) { 
     UILabel *lblChange = (UILabel *)[rectangleLabels objectAtIndex:i]; 
     lblChange.frame = CGRectMake(lblChange.frame.origin.x, lblChange.frame.origin.y, rect.size.width, rect.size.height); 
    } 
} 

}