0

こんにちは、ボタンをクリックしてアクティビティ インジケーターを表示しようとしています。試してみましたが、いくつか問題があります。アクティビティ インジケーターをストーリーボードにドラッグしても、アプリの実行中に表示される場合、ボタンをクリックすると表示されます。私のアプリでは、写真のアップロード オプションを提供しています。したがって、アップロード ボタンをクリックすると、アクティビティ インジケーターが表示されます。..

これは私が疲れたコードですが、機能していません。

これは、アクティビティ インジケーターとボタンを実装した私の h ファイルです。

- (IBAction)click:(id)sender;
 @property (strong, nonatomic) IBOutlet UIActivityIndicatorView *spinner;

これは、mファイルで使用したコードです...

-(void)temp
{
 spinner = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
 spinner.frame = CGRectMake(0.0, 0.0, 40.0, 40.0);
 [spinner setCenter:CGPointMake(480/2.0, 128.0/2)]; // (mid of screen) I do this because I'm in landscape mode
 [self.view addSubview:spinner];
 [spinner startAnimating];
 [spinner release];
}

そして、私のボタンでこの関数を呼び出しています..

- (IBAction)click:(id)sender {
[self temp];
}

また、他にもいくつかの問題があります。ここでコードを見ました。問題は

[yourView addSubview:spinner]; 

あなたのビューで私は自分のuiviewcontroller名を与えますが、その与えられたエラーは私がに変更しました

[self.view addSubview:spinner];

plsは私がどこで間違っているのか、そしてそれを作る正しい方法は何ですか..ありがとう

4

4 に答える 4

0

まず第一に、スピナー用の IBOutlet が既にあるため、temp メソッドで新しい IBOutlet を割り当てないでください。temp メソッドを次のように変更します。

  -(void)temp
    {
      spinner.frame = CGRectMake(0.0, 0.0, 40.0, 40.0);
     [spinner setCenter:CGPointMake(480/2.0, 128.0/2)]; // (mid of screen) I do this because I'm in landscape mode
     [self.view addSubview:spinner];
     [spinner startAnimating];
    }
于 2014-02-20T06:56:48.747 に答える