Исчезают кнопки и надписи в объективе c для iPhone - PullRequest
0 голосов
/ 09 января 2012

Привет, я хочу реализовать общий алгоритм затухания и раскрытия для смеси UIButtons и UILabels для iPhone.Я установил метод для получения объекта в качестве идентификатора.Но я не знаю, как получить и установить альфа-значения для объектов id.

Сначала я попробовал myObject.alpha, а затем попытался [myObject getAlpha], но Xcode говорит, что метод getAlpha не найден.Кто-нибудь знает, как получить альфа-значение объекта id или порекомендовать другой способ сделать это?

Ответы [ 3 ]

3 голосов
/ 09 января 2012

попробуй базовую анимацию

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.4f];
[YOUR_OBJECT setAlpha:1.0f]; //or 0.0f
[UIView commitAnimations];

спасибо.

1 голос
/ 09 января 2012

Я думаю, что вам было бы полезно прочитать несколько руководств для начинающих по синтаксису, необходимому для начала работы, если у вас есть опыт работы с другими языками, вы сможете довольно быстро просмотреть материал.

Это соглашение именовать методы получателя без слова get. Итак, что вы хотите, это

[myObject alpha];

Теперь, когда вы знаете, что все, что вы хотите исчезнуть, является подклассом UIView, используйте UIView вместо id.

Поскольку UILabel и UIButton оба являются подклассами UIView, это было бы хорошо


Обновление

В отношении решения @mohacs документы Apple для UIView state

+ (void)beginAnimations:(NSString *)animationID context:(void *)context

Использование этого метода не рекомендуется в iOS 4.0 и более поздних версиях. Вместо этого вы должны использовать методы анимации на основе блоков, чтобы указать свою анимацию.

Следовательно, альтернативой блока будет

 [UIView animateWithDuration:duration
                  animations:^{
                      [view setAlpha:alpha];
                  }];
0 голосов
/ 09 января 2012

Вам нужно знать, что это за объект, чтобы знать, какие методы вы можете вызвать.Используйте -isKindOfClass: чтобы проверить это.

Кроме того, получатели в Какао не начинаются со слова «получить».это просто альфа.

...