Кнопка titleLabel установлена ​​в положение скрытого YES, появляется снова при прикосновении - PullRequest
4 голосов
/ 27 декабря 2011

В контроллере представления я настроил следующий код для первоначального скрытия группы массивов кнопок:

- (void)viewDidLoad {
    [super viewDidLoad];
    for(UIButton * noteButtonItem in noteButtonArray){
        noteButtonItem.titleLabel.hidden = YES;
        //NSLog(@"Title is %@", noteButtonItem.currentTitle);
    }
}

Из файла .h:

@property (nonatomic,retain) IBOutletCollection(UIButton) NSArray *noteButtonArray;

И прикрепляется через IB

Первоначальное скрытие работает нормально, но когда я "касаюсь" кнопку (в симуляторе), titleLabel не остается скрытым.

Что происходит за кулисами? Есть ли способ заставить их оставаться скрытыми, пока не будет установлено значение «ДА»?

Ответы [ 2 ]

10 голосов
/ 27 декабря 2011

UIButton экземпляры могут иметь различные конфигурации в зависимости от их состояния (состояния, описанные здесь ).Если вы хотите скрыть метку заголовка кнопки во всех состояниях, вы можете использовать setTitle:forState: и установить ее заголовок на @"", или вы можете изменить свойство alpha цвета на 0.0f с помощью setTitleColor:forState:, чтобыстановится прозрачным, когда кнопка находится в выбранных состояниях.

0 голосов
/ 27 декабря 2011

Вы можете использовать один из методов отслеживания, чтобы убедиться, что он остается скрытым даже после того, как к нему прикоснулись.Это из справочника класса UIControl:

Отслеживание касаний и элементов управления перерисовкой

  • - beginTrackingWithTouch: withEvent:
  • - continueTrackingWithTouch: withEvent:
  • - endTrackingWithTouch: withEvent:
  • - cancelTrackingWithEvent:
  • свойство отслеживания
  • свойство touchInside
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...