получение UIButton с помощью свойства тега IPhone

У меня возникли небольшие проблемы с использованием свойства тега для доступа к UIButton.

UIButton   *randomButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect ]];    
    randomButton.frame = CGRectMake(205, 145, 90, 22); // size and position of button
    [randomButton setTitle:@"Random" forState:UIControlStateNormal];
    randomButton.backgroundColor = [UIColor clearColor];
    randomButton.adjustsImageWhenHighlighted = YES; 
    [randomButton addTarget:self action:@selector(getrandom:) 
           forControlEvents:UIControlEventTouchUpInside];
    randomButton.reversesTitleShadowWhenHighlighted=YES;
    randomButton.toggleButton

    [self.view addSubview:randomButton];

    randomButton.tag=333;

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

Несовместимые типы Objective-C, инициализирующие 'struct UIView *', ожидаемые 'struct UIButton *'

UIButton *random = [self.view viewWithTag:333];
    random.highlighted=NO;

person dubbeat    schedule 10.05.2010    source источник


Ответы (1)


Пытаться:

UIButton *random = (UIButton *)[self.view viewWithTag:333];

Кроме того, почему вы назначаете тег после того, как отпустили кнопку?

person pheelicks    schedule 10.05.2010
comment
Спасибо, ваш код избавил меня от моего предупреждения. Вся эта штука с сохранением/выпуском не должна была быть там. Несмотря на то, что сейчас я успешно нажимаю кнопку, я не могу изменить ее состояние на выделенное. Я пытаюсь сделать это в обработчике события UIControlEventTouchUpInside. В основном у меня есть 3 кнопки, на которых я пытаюсь реализовать эффект переключения. Одновременно отображается только одна кнопка - person dubbeat; 10.05.2010