0

ボタンがクリックされるたびに、ボタンの上にアクティビティ インジケーターを追加する必要があるアプリケーションがあります。このようなカスタム ボタンをすべて作成し、ナビゲーション バーに追加しました。

UIButton *btnNext1 = [UIButton buttonWithType:UIButtonTypeCustom];
btnNext1.frame = CGRectMake(100, 100,38, 38);
UIImage *image = [UIImage imageNamed:@"default.png"]; 
UIImageView *imageView = [[UIImageView alloc] init];
imageView.image = image;
imageView.frame = CGRectMake(10,5,38,38); 
[imageView.layer setCornerRadius:5.0];// position it to the middle 
[btnNext1 setBackgroundImage:imageView.image forState:UIControlStateNormal];       
[imageView release]; 
[btnNext1 addTarget:self action:@selector(backButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *btnNext =[[UIBarButtonItem alloc] initWithCustomView:btnNext1];

self.navigationItem.leftBarButtonItem = btnNext;
[btnNext release];

次に、送信者メソッドで試しました

UIButton * button = (UIButton *)sender;
UIActivityIndicatorView *myIndicator = [[UIActivityIndicatorView alloc] 
                                            initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];

// Position the spinner
[myIndicator setCenter:CGPointMake(button.frame.size.width / 2,button.frame.size.height /2)];

// Add to button
[button addSubview:myIndicator];

// Start the animation
[myIndicator startAnimating];

しかし、それは現れていません。誰かが私が間違っているところを指摘できますか?

4

3 に答える 3

0

送信者の方法を次のように変更します

UIButton * button = (UIButton *)sender;
UIActivityIndicatorView *myIndicator = [[UIActivityIndicatorView alloc] 
                                            initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];

// Position the spinner
[myIndicator setCenter:CGPointMake(button.frame.size.width / 2,button.frame.size.height /2)];

// Add to button
[self addSubview:myIndicator];

// Start the animation
[myIndicator startAnimating];

ボタンではなく uiview にインジケーターを追加する必要があります。

于 2013-06-07T07:01:14.953 に答える