2013-04-01 2 views
1

я получил UIButton объявлено в интерфейсе строителе с выходом установлен следующим образом:Пользовательские UIButton не захватывая штрихи после добавления подвида

@property (weak, nonatomic) IBOutlet UIButton *loginButton; 

Он работает отлично, пока я не вставить подвид. Затем он перестает отвечать. Вот оскорбительная строка:

[self.loginButton insertSubview:_gradientButtonView atIndex:0]; 

Комментируя это, кнопка снова запустится. Вот весь код участвует (используя удивительный SSToolkit и пользовательскую категорию на UIColor):

SSGradientView *_gradientButtonView = [[SSGradientView alloc] initWithFrame:self.loginButton.layer.bounds]; 
_gradientButtonView.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
_gradientButtonView.topBorderColor = [UIColor colorWithRed:0.558f green:0.599f blue:0.643f alpha:1.0f]; 
_gradientButtonView.topInsetColor = [UIColor colorWithWhite:1.0f alpha:0.3f]; 
_gradientButtonView.colors = [NSArray arrayWithObjects:[UIColor from_hex:@"E6E7E8"], [UIColor from_hex:@"A7A9AC"], nil]; 
_gradientButtonView.layer.cornerRadius = 5; 
self.loginButton.layer.cornerRadius = 5; 
self.loginButton.titleLabel.shadowOffset = CGSizeMake(0, 1); 
[self.loginButton setTitleShadowColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
self.loginButton.layer.masksToBounds = YES; 
_gradientView.bottomBorderColor = [UIColor colorWithRed:0.428f green:0.479f blue:0.520f alpha:1.0f]; 
_gradientButtonView.clipsToBounds = YES; 
_gradientButtonView.userInteractionEnabled = YES; 
[self.loginButton insertSubview:_gradientButtonView atIndex:0]; 
self.loginButton.userInteractionEnabled = YES; 
+1

Есть ли конкретная причина вы пишете '_gradientButtonView.userInteractionEnabled = YES;'? Насколько мне известно, это предотвращает отправку сообщения касанием событий в цепочку ответчиков. – daltonclaybrook

+0

@daltonclaybrook это было. Вы исправили это! Не стесняйтесь передать это как ответ, и я помету его. –

ответ

0

Это был ответ в вышеуказанных комментариях:

Есть ли конкретная причина вы пишете _gradientButtonView .userInteractionEnabled = YES ;? Насколько мне известно, это предотвращает вид от отправки события прикосновения вверх ответчик цепи

Смежные вопросы