Выбор кнопки с переменной - PullRequest
0 голосов
/ 20 января 2012

У меня это работает в C #, но я не знаю, куда идти с Objective C (в частности, Xcode).

У меня 8 кнопок

Стек1, Стек2 и т. Д.

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

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

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

Ответы [ 3 ]

0 голосов
/ 20 января 2012

Надеюсь, я правильно понял ваш вопрос. Вы хотите изменить изображение кнопки, нажав на другую кнопку. Вы можете назначить 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 голосов
/ 20 января 2012

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

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

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

Тогда:

1.

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

Как

[StackButton1 setImage:MyImage forState: UIControlStateNormal];
0 голосов
/ 20 января 2012

Воспользуйтесь помощью цикла for и реализуйте приведенный ниже код:

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];

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

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