2012-04-29 7 views
1

Je suis en train de montrer un message ticker qui est codé dans une catégorie distincte et j'utilise la classe en dessousInitialiser un objet qu'une seule fois dans iOS

ci-dessous le code affiche un message indiquant ticker dans le simulateur d'iPhone sur le courant voir quand je lance dans Xcode

#import "CLTickerView.h" //imported ticker message class 

- (void)viewDidLoad 
{ 
    CLTickerView *ticker = [[CLTickerView alloc] initWithFrame:CGRectMake(30, -3, 80, 40)]; 

    ticker.marqueeStr = @"OLD Ticker msg goes here"; 

    ticker.marqueeFont = [UIFont boldSystemFontOfSize:16]; 
    [self.view addSubview:ticker]; 

} 

je veux changer le message ticker et la position par un bouton et je suis en utilisant le code ci-dessous

- (IBAction)changeTitleAndPosition:(id)sender { 
{ 
    CLTickerView *ticker = [[CLTickerView alloc] initWithFrame:CGRectMake(10, 10, 20, 50)]; //i want to change the position here 

    ticker.marqueeStr = @"NEW Ticker msg goes here"; //i want to change msg here 

    ticker.marqueeFont = [UIFont boldSystemFontOfSize:16]; 
    [self.view addSubview:ticker]; 

} 

mais quand je clique sur le bouton, cela crée-t-il à chaque fois un message de téléscripteur en double, est-il possible que nous puissions seulement changer de message et de position?

Je sais que lorsque je clique sur le bouton, il crée un nouvel objet à chaque fois et affiche un message en double. Mais je ne sais pas comment je peux initialiser l'objet une fois dans viewDidLoad et changer le titre et la position du msg à partir de n'importe quel bouton ou action.

Veuillez me suggérer les solutions possibles.

Répondre

0

La réponse est simple: tant que vous avez une référence au ticker et une instance active, vous pouvez changer ses propriétés sans avoir à créer une nouvelle instance. Déclarez CLTickerView en tant que propriété de la classe appelante.

Questions connexes