1

別のクラスでコーディングされたティッカーメッセージを表示しようとしていますが、以下の方法でクラスを使用しています

以下のコードは、xcodeで実行すると、現在のビューのiphoneシミュレーターにティッカーメッセージを表示します

#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];

}

ボタンでティッカーメッセージと位置を変更したいのですが、以下のコードを使用しています

- (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];

}

しかし、ボタンをクリックすると、毎回重複したティッカー メッセージが作成されます。メッセージと位置のみを変更できる可能性はありますか?

ボタンをクリックすると、毎回新しいオブジェクトが作成され、重複したメッセージが表示されることがわかっています。しかし、viewDidLoad で一度オブジェクトを初期化し、任意のボタンまたはアクションからメッセージのタイトルと位置を変更する方法がわかりません。

可能な解決策を教えてください。

4

1 に答える 1

0

答えは簡単です。ティッカーへの参照とアクティブなインスタンスがある限り、新しいインスタンスを作成しなくてもプロパティを変更できます。CLTickerView を呼び出しクラスのプロパティとして宣言します。

于 2012-04-29T17:55:42.637 に答える