2013-12-19 3 views
0

новичкам нужна помощь! Идея: когда вы нажимаете кнопку, вам нужно изменить изображение массива. Да, я глуп.изменить изображение UIButton с массивом

из * .h:

{ 
    NSMutableArray *_cat; 
    NSInteger _catindex; 
} 

@property (weak, nonatomic) IBOutlet UIButton *catbtn; 

- (IBAction)catbutton:(id)sender; 

из * .m: `

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    _cat = [NSMutableArray array]; 

    UIImage *cat1 = [UIImage imageNamed:@"cat1.png"]; 
    UIImage *cat2 = [UIImage imageNamed:@"cat2.png"]; 
    UIImage *cat3 = [UIImage imageNamed:@"cat3.png"]; 
    UIImage *cat4 = [UIImage imageNamed:@"cat4.png"]; 
    UIImage *cat5 = [UIImage imageNamed:@"cat5.png"]; 
    [_cat addObject:cat1]; 
    [_cat addObject:cat2]; 
    [_cat addObject:cat3]; 
    [_cat addObject:cat4]; 
    [_cat addObject:cat5]; 

    self.catbtn.image = [_cat objectAtIndex:_catindex]; 

} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

- (IBAction)catbutton:(id)sender 
{ 
    _catindex++; 
    if (_catindex == _cat.count) 
    { 
     _catindex = 0; 
    } 
    self.catbtn.image = [_cat objectAtIndex:_catindex]; 

} 

Я не знаю, можно ли это сделать, но я надеюсь на ваше Помогите.

+0

не забывайте upvote и отметьте верхний ответ на ответ, который решил ваш вопрос, чтобы другие с тем же вопросом знали, что его решило. Если ни один из них не решил вашу проблему, оставьте комментарий, чтобы задать дополнительные вопросы –

ответ

0
self.catbtn.image = [_cat objectAtIndex:_catindex]; 

не будет работать, вам нужно использовать:

[self.catbtn setImage: [_cat objectAtIndex:_catindex] forState:UIControlStateNormal]; 

forState может быть использован для установки изображения для того, когда выбрана кнопка/выделения и т.д.

0

использовать это, чтобы установить изображение для UIButton

[self.catbtn setImage:[_cat objectAtIndex:_catindex] forState:UIControlStateNormal]; 
0

Вместо этого:

self.catbtn.image = [_cat objectAtIndex:_catindex]; 

написать следующее:

[self.catbtn setImage:[_cat objectAtIndex:_catindex] forState:UIControlStateNormal]; 

в обоих местах.

Смежные вопросы