iphone uibutton: я хочу изменить изображение UIControlStateNormal - PullRequest
1 голос
/ 12 июля 2010

Я создал массив UIButton с.Мне нужно менять изображения на этих кнопках программно, в разное время.В настоящее время, чтобы заставить это работать, я хочу изменить изображение, когда кнопка нажата, но это не время, когда это действительно произойдет.

Итак, я создаю массив кнопок,и расположить их на сетке на экране:

for (UInt16 index=0; index < (mNumColumns * mNumRows); index++)
{ 
    <....Snipped code for setting the x,y,width,height vars...>
    UIButton *thisCell = [UIButton buttonWithType:UIButtonTypeCustom];
    thisCell.tag = index;
    thisCell.frame = CGRectMake(currentX, currentY, cellWidth, cellHeight);  
    [thisCell addTarget:self action:@selector(buttonPushed:)
        forControlEvents:UIControlEventTouchUpInside];
    [thisCell setImage:[UIImage imageNamed:@"cellBackground.png"]
        forState:UIControlStateNormal];
    [[self view] addSubview:thisCell];
}

--- А затем обработчик кнопок -

-(void)buttonPushed:(UIView*)clickedButton
{
    NSLog(@"Click %d", clickedButton.tag);
    [clickedButton setImage:[UIImage imageNamed:@"cellEmpty.png"]
        forState:UIControlStateNormal];
    [clickedButton setNeedsDisplay];
}

1) Исходная сетка кнопок отображается правильно.
2) Если я изменю имя файла PNG для начальной сетки на cellEmpty.png, он будет работать с новым изображением, поэтому я знаю, что изображение может отображаться.
3) Я вижу "Click n"в отладчике правильная кнопка вызывает buttonPressed

Но, как вы можете догадаться, изображение не обновляется.Я не думаю, что хочу иметь дело с состояниями кнопок в это время .... так как изменение изображения на самом деле не имеет отношения к нажатию кнопки в реальной жизни (изменение будет результатом загрузки нового изображения по сети).

1 Ответ

0 голосов
/ 12 июля 2010

Спасибо за вашу помощь. Здесь происходит кое-что еще интересное, что мне нужно выяснить. Представление, создающее кнопки, является рамкой на панели вкладок, и если я переключаю панели вкладок на другое представление и возвращаюсь, изображения обновляются.

Я уточню ответ, когда выясню.

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