Как изменить изображение, установленное на кнопке - PullRequest
8 голосов
/ 02 июня 2011

Я хочу изменить изображение кнопки на событии нажатия кнопки.Вот то, что я пытаюсь.

-(IBAction)editObjectImage:(id)sender
{
    if (editButtonState == NO)
    {   
        [editButton setImage:nil forState:UIControlStateNormal];
        [editButton setImage:[UIImage imageNamed:@"done2.png"] forState:UIControlStateNormal];
    }
    else
    {
        [editButton setImage:nil forState:UIControlStateNormal];
        [editButton setImage:[UIImage imageNamed:@"edit.png"] forState:UIControlStateNormal];
    }
}

Но изображение моей кнопки не меняется.Что не так с кодом?

Ответы [ 4 ]

10 голосов
/ 02 июня 2011

Я думаю, вы не успеваете поменять editButtonState. Ваш код может быть уменьшен до.

-(IBAction)editObjectImage:(id)sender
{
    UIButton *theButton = (UIButton*)sender;
    if (editButtonState == NO) {   
        [theButton setImage:[UIImage imageNamed:@"done2.png"] forState:UIControlStateNormal];
    } else {
        [theButton setImage:[UIImage imageNamed:@"edit.png"] forState:UIControlStateNormal];
    }

    editButtonState = !editButtonState;
}
4 голосов
/ 23 июля 2012

Это мой рабочий код:

NSString *shoppingListButtonImageName = @"notepad-selected";

UIImage *slImage = [UIImage imageNamed:shoppingListButtonImageName];
//put a breakpoint here to check that slImage is not nil.

[self.shoppingListButton setImage:slImage forState:UIControlStateNormal];
2 голосов
/ 02 июня 2011

При нажатии кнопки вы должны установить изображение, как это;

[editButton setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateHighlighted];
0 голосов
/ 03 июня 2011

Проверьте, правильно ли добавлены изображения (ваш [UIImage imageNamed: @ ""]) не возвращает ноль?в противном случае он должен работать правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...