Как изменить альфа-канал UILabel, нажав?

У меня есть приложение iOS (4.0), в котором я хотел бы изменить альфа-канал определенного UILabel, просто нажав в любом месте экрана. У меня нет интерфейса, сделанного программно, я просто использовал конструктор интерфейса, чтобы разместить метки для вещей на экране.

Как я могу использовать жест касания для изменения альфа-канала определенного UILabel в моей программе?

Заранее спасибо!


person Donavon Yelton    schedule 14.07.2011    source источник


Ответы (2)


В представленииDidLoad:

UITapGestureRecognizer *oneTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];
    [oneTap setNumberOfTapsRequired:1];
    [oneTap setNumberOfTouchesRequired:1];
    [self.view oneTap];

Затем определите метод:

-(void)tapAction:(UIGestureRecognizer *)gesture 
    {
          [self.yourLabel setAlpha:0.5f]; // set the alpha to whatever you want, or animate the fade, whatever
    }
person Todd Hopkinson    schedule 14.07.2011
comment
Это сработало отлично, за исключением того, что я добавил: [self.view addGestureRecognizer:oneTap]; и удалил: [self.view oneTap]; - person Donavon Yelton; 18.07.2011
comment
Убедитесь, что userInteractionEnabled является YES на UILabel, если вы хотите, чтобы касание было только для метки (хотя в своем вопросе вы говорите, что хотите касаться где угодно). - person greg; 13.12.2013

person    schedule
comment
Это действительно только для UIControls. - person greg; 13.12.2013