簡體   English   中英

從另一個View Controller更改UIButton圖像

[英]Change UIButton image from another View Controller

我有兩個視圖控制器, aControllerbController 我在aController有一個按鈕。 現在我想從bController更改按鈕圖像。 我創建了一個名為方法chageButtonImgaController我打電話chageButtonImg從方法bController一些功能后更改UIButton圖像。 我叫它,但是按鈕圖像沒有更新。

如何更改按鈕圖像?

您不能像這樣更改按鈕圖像,問題是當出現bController的視圖時,aController中的所有ui元素會自動設置為null。因此,要實現此功能,請將圖像中的變量傳遞給aController,然后在viewwillAppear中更改按鈕的圖像

只需通過NSString將圖像名稱傳遞給第二個視圖控制器即可:

- (IBAction)collagescreen:(id)sender
{
    viewcontrollerB *bcontroller=[self.storyboard instantiateViewControllerWithIdentifier:@"collage"];
    bcontroller.string=@"imagename here.jpg"
    [self presentViewController:nav animated:YES completion:nil];
}

你可以像這樣的ViewController Bm文件

[btn setBackgroundImage:YourString forState:UIControlStateNormal]; 

在具有按鈕的Controller中創建公共屬性imageName。 並在bController中-

 if(count==[myArr count]){ 
   HomeController *myH=[[HomeController alloc] init]; 
   [myH.imageName = @"imButton.png"; 
   return; 
} 

在控制器中----實現按鈕的自定義吸氣劑

- (UIButton *) playAndPauseButton {

  UIImage *img = nil;
  if([_imageName isEqualToString:@“”]) {
    img = [UIImage imageNamed:@"playButton"]; 
   } else {
     img = [UIImage imageNamed:_imageName]
  }
  [_playAndPauseButton setImage:icon]; 
  return  _playAndPauseButton;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM