Я делаю игру для iPhone, в которой пользователь выбирает, какого цвета они хотят, чтобы их машина была в игре. Чтобы показать, какие автомобили можно выбрать, у меня есть кнопки UIB с фоновыми изображениями, которые представляют различные автомобили. Чтобы показать, какой автомобиль выбран в данный момент, у меня есть кнопка за текущим цветом автомобиля с желтым фоновым цветом. Я хочу, чтобы при нажатии на кнопку автомобиля желтая кнопка перемещалась за нажатой кнопкой. Мой код выглядит так:
-(void)setPlayerCar:(UIButton *)newCar{
//this code is being called when any of the buttons is clicked
NSArray *carFiles = [NSArray arrayWithObjects:@"redCar.png",@"blueCar.png",@"greenCar.png",@"purpleCar.png",@"turquioseCar.png",@"yellowCar.png", nil];
NSString *file = [carFiles objectAtIndex:newCar.tag];
currentCarImage = file;
CGRect frame;
if(currentCarImage == @"redCar.png"){
frame = CGRectMake(48, 78, 30, 30);
}
if(currentCarImage == @"blueCar.png"){
frame = CGRectMake(83, 78, 30, 30);
}
if(currentCarImage == @"greenCar.png"){
frame = CGRectMake(118, 78, 30, 30);
}
if(currentCarImage == @"purpleCar.png"){
frame = CGRectMake(153, 78, 30, 30);
}
if(currentCarImage == @"turquioseCar.png"){
frame = CGRectMake(188, 78, 30, 30);
}
if(currentCarImage == @"yellowCar.png"){
frame = CGRectMake(223, 78, 30, 30);
}
for(UIButton *button in self.pauseScroll.subviews){
if(button.backgroundColor == [UIColor yellowColor]){
button.bounds = frame;
}
if(button.tag == newCar.tag){
[self.pauseScroll bringSubviewToFront:button];
}
}
}
Насколько я знаю, это должно переместить желтую кнопку к выбранной кнопке. Проблема в том, что этого не происходит, когда я отлаживаю, я обнаруживаю, что правильная кнопка распознается, и этому кадру присваивается правильное значение, и что line: button.bounds = frame; выполняется, но когда я смотрю на то, что отображается, ничего не изменилось.