簡體   English   中英

如何使用警報更改UIButton的背景

[英]how to change a UIButton's background using a alert

我目前正在開發使用UIAlertview更改按鈕圖像的應用程序。 我已經嘗試過了,但是似乎沒有用! 請幫忙! 拉菲

- (IBAction)changebackground:(id)sender {
    UIAlertView *alert = [[UIAlertView alloc] 

                      initWithTitle:@"The Title" 
                      message:@"The Message" 
                      delegate:self 
                      cancelButtonTitle:@"Cancel" 
                      otherButtonTitles:@"normal",@"for girly girls",@"for boys!", nil];

[alert show];
}

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {

if (buttonIndex == 1) {

    UIImage *img = [UIImage imageNamed:@"img1.jpg"];

    [background setImage:img];

    UIImage *buttonImage = [UIImage imageNamed:@"black sharp.png"];
    [asharp setImage:buttonImage forState:UIControlStateNormal];
    [self.view addSubview:asharp];
    UIImage *buttonImage2 = [UIImage imageNamed:@"black sharp.png"];
    [csharp setImage:buttonImage2 forState:UIControlStateNormal];
    [self.view addSubview:csharp];
    UIImage *buttonImage3 = [UIImage imageNamed:@"black sharp.png"];
    [dsharp setImage:buttonImage3 forState:UIControlStateNormal];
    [self.view addSubview:dsharp];
    UIImage *buttonImage4 = [UIImage imageNamed:@"black sharp.png"];
    [fsharp setImage:buttonImage4 forState:UIControlStateNormal];
    [self.view addSubview:fsharp];
    UIImage *buttonImage5 = [UIImage imageNamed:@"black sharp.png"];
    [gsharp setImage:buttonImage5 forState:UIControlStateNormal];
    [self.view addSubview:gsharp];
    UIImage *buttonImage6 = [UIImage imageNamed:@"white key.png"];
    [middlec setImage:buttonImage6 forState:UIControlStateNormal];
    [self.view addSubview:middlec];
    UIImage *buttonImage7 = [UIImage imageNamed:@"white key.png"];
    [d setImage:buttonImage7 forState:UIControlStateNormal];
    [self.view addSubview:d];
    UIImage *buttonImage8 = [UIImage imageNamed:@"white key.png"];
    [en setImage:buttonImage8 forState:UIControlStateNormal];
    [self.view addSubview:en];
    UIImage *buttonImage9 = [UIImage imageNamed:@"white key.png"];
    [f setImage:buttonImage9 forState:UIControlStateNormal];
    [self.view addSubview:f];
    UIImage *buttonImage10 = [UIImage imageNamed:@"white key.png"];
    [g setImage:buttonImage10 forState:UIControlStateNormal];
    [self.view addSubview:g];
    UIImage *buttonImage11 = [UIImage imageNamed:@"white key.png"];
    [a setImage:buttonImage11 forState:UIControlStateNormal];
    [self.view addSubview:a];
    UIImage *buttonImage12 = [UIImage imageNamed:@"white key.png"];
    [b setImage:buttonImage12 forState:UIControlStateNormal];
    [self.view addSubview:b];


}

if (buttonIndex == 2) {

    UIImage *img = [UIImage imageNamed:@"img2.jpg"];

    [background setImage:img];

    UIImage *buttonImage = [UIImage imageNamed:@"green sharp.png"];
    [asharp setImage:buttonImage forState:UIControlStateNormal];
    [self.view addSubview:asharp];
    UIImage *buttonImage2 = [UIImage imageNamed:@"green sharp.png"];
    [csharp setImage:buttonImage2 forState:UIControlStateNormal];
    [self.view addSubview:csharp];
    UIImage *buttonImage3 = [UIImage imageNamed:@"green sharp.png"];
    [dsharp setImage:buttonImage3 forState:UIControlStateNormal];
    [self.view addSubview:dsharp];
    UIImage *buttonImage4 = [UIImage imageNamed:@"green sharp.png"];
    [fsharp setImage:buttonImage4 forState:UIControlStateNormal];
    [self.view addSubview:fsharp];
    UIImage *buttonImage5 = [UIImage imageNamed:@"green sharp.png"];
    [gsharp setImage:buttonImage5 forState:UIControlStateNormal];
    [self.view addSubview:gsharp];
    UIImage *buttonImage6 = [UIImage imageNamed:@"pink key.png"];
    [middlec setImage:buttonImage6 forState:UIControlStateNormal];
    [self.view addSubview:middlec];
    UIImage *buttonImage7 = [UIImage imageNamed:@"pink key.png"];
    [d setImage:buttonImage7 forState:UIControlStateNormal];
    [self.view addSubview:d];
    UIImage *buttonImage8 = [UIImage imageNamed:@"pink key.png"];
    [en setImage:buttonImage8 forState:UIControlStateNormal];
    [self.view addSubview:en];
    UIImage *buttonImage9 = [UIImage imageNamed:@"pink key.png"];
    [f setImage:buttonImage9 forState:UIControlStateNormal];
    [self.view addSubview:f];
    UIImage *buttonImage10 = [UIImage imageNamed:@"pink key.png"];
    [g setImage:buttonImage10 forState:UIControlStateNormal];
    [self.view addSubview:g];
    UIImage *buttonImage11 = [UIImage imageNamed:@"pink key.png"];
    [a setImage:buttonImage11 forState:UIControlStateNormal];
    [self.view addSubview:a];
    UIImage *buttonImage12 = [UIImage imageNamed:@"pink key.png"];
    [b setImage:buttonImage12 forState:UIControlStateNormal];
    [self.view addSubview:b];
}

if (buttonIndex == 3) {

    UIImage *img = [UIImage imageNamed:@"img3.jpg"];

    [background setImage:img];

    UIImage *buttonImage = [UIImage imageNamed:@"orange sharp.png"];
    [asharp setImage:buttonImage forState:UIControlStateNormal];
    [self.view addSubview:asharp];
    UIImage *buttonImage2 = [UIImage imageNamed:@"orange sharp.png"];
    [csharp setImage:buttonImage2 forState:UIControlStateNormal];
    [self.view addSubview:csharp];
    UIImage *buttonImage3 = [UIImage imageNamed:@"orange sharp.png"];
    [dsharp setImage:buttonImage3 forState:UIControlStateNormal];
    [self.view addSubview:dsharp];
    UIImage *buttonImage4 = [UIImage imageNamed:@"orange sharp.png"];
    [fsharp setImage:buttonImage4 forState:UIControlStateNormal];
    [self.view addSubview:fsharp];
    UIImage *buttonImage5 = [UIImage imageNamed:@"orange sharp.png"];
    [gsharp setImage:buttonImage5 forState:UIControlStateNormal];
    [self.view addSubview:gsharp];
    UIImage *buttonImage6 = [UIImage imageNamed:@"silver key.png"];
    [middlec setImage:buttonImage6 forState:UIControlStateNormal];
    [self.view addSubview:middlec];
    UIImage *buttonImage7 = [UIImage imageNamed:@"silver key.png"];
    [d setImage:buttonImage7 forState:UIControlStateNormal];
    [self.view addSubview:d];
    UIImage *buttonImage8 = [UIImage imageNamed:@"silver key.png"];
    [en setImage:buttonImage8 forState:UIControlStateNormal];
    [self.view addSubview:en];
    UIImage *buttonImage9 = [UIImage imageNamed:@"silver key.png"];
    [f setImage:buttonImage9 forState:UIControlStateNormal];
    [self.view addSubview:f];
    UIImage *buttonImage10 = [UIImage imageNamed:@"silver key.png"];
    [g setImage:buttonImage10 forState:UIControlStateNormal];
    [self.view addSubview:g];
    UIImage *buttonImage11 = [UIImage imageNamed:@"silver key.png"];
    [a setImage:buttonImage11 forState:UIControlStateNormal];
    [self.view addSubview:a];
    UIImage *buttonImage12 = [UIImage imageNamed:@"silver key.png"];
    [b setImage:buttonImage12 forState:UIControlStateNormal];
    [self.view addSubview:b];
}

}

我也剛剛碰到這一點。 除非自定義按鈕,否則不能更改其背景。 否則,更改常規按鈕的背景就像修改UITableViewCell的背景(實際的更改發生在訪問contentView ,但UIButton並非如此)

因此,將您的按鈕類型從界面構建更改為Custom或者從如下代碼中初始化按鈕:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

暫無
暫無

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

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