2012-01-20 5 views
0

У меня это работает на C#, но не знаю, куда идти с Objective C (специально для Xcode).Выбор кнопки с переменной

У меня есть 8 кнопок

STACK1, stack2 и т.д.

Я хочу выбрать Stack (переменная) и изменить изображение.

В C# я использовал Button Stacks = this.Controls ["Stack" + StackNumber.ToString()] as Button; Stacks.BackgroundImage = .....

Могу ли я сделать это и в Objective C тоже?

+0

вы хотите сказать, что вам нужно поставить кнопки программно, а также дать имя в то же время, как и выше, не так ли? – Sarah

+0

(Я новичок в программировании Objective C) - Я создал кнопки на раскадровке, но хочу изменить изображения во время прогона программы. Я хочу изменить образ stack1 при нажатии на кнопку stack7 в одной точке, но при изменении кнопки stack3 при нажатии кнопки stack7 позже. Я считаю, что могу найти способ обойти это, но я бы хотел сделать это правильно, если существует способ. – ShadowDES

+0

Можете ли вы показать мне изображение того же самого? – Sarah

ответ

0

Надеюсь, я правильно понял ваш вопрос. Вы хотите изменить изображение кнопки, нажав на другую кнопку. Вы можете присвоить tag свойство с вашими различными кнопками, как stack1.tag = 1001; , stack2.tag = 1002; , stack3.tag = 1003;

Сейчас в вашей кнопке мыши метода:

- (IBAction)buttonStack1Click:(id)sender // for stack1 button 
{ 
    UIButton *tempStack = (UIButton *)[self.view viewWithTag:1003]; //to change image of stack3 button 

    // Now change the image of stack3 button 
    [tempStack setImage:[UIImage imageNamed:@"su.png"] forState:UIControlStateNormal]; 

} 

Надеется, что это дает представление ...

+0

Это сработало отлично. – ShadowDES

0

Примите помощь для цикла и реализовать код ниже:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[button addTarget:self 
      action:@selector(aMethod:) 
forControlEvents:UIControlEventTouchDown]; 
[button setTitle:@"Show View" forState:UIControlStateNormal]; 
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0); 
[view addSubview:button]; 

возникает Любой запрос, вы можете сказать мне .. надеюсь, что поможет вам.

0

Если вы хотите, чтобы выполнить определенную функцию, когда кнопка нажата, то есть два пути ..

Один Sarah способ: Создание кнопки программно

Другие способы, если вы разрабатываете кнопки в интерфейсе строителя:

Тогда:

1) сделать эти кнопки IBOutlet..Also Сделать IBAction (Много обучающих программ, доступных online..google них)

2) IBAction будет что-то вроде этого: - (IBAction)StackButton(YourNumber)Clicked:(id)sender { В этой функции изменить изображение кнопки вы хотите.

Как

[StackButton1 setImage:MyImage forState: UIControlStateNormal]; 
Смежные вопросы