UIButton - изменение кадра меняет реакцию на прикосновения - PullRequest
1 голос
/ 07 июля 2011

У меня есть кнопка UIB. Я обнаружил, что когда я переместил его, он больше не реагировал на прикосновения. Позвольте мне подробно объяснить, как я это определил: когда я сдвигаю кнопку шириной 100 пикселей на 50 пикселей вправо, только левая половина реагировала на касание ее пальцем.

Как мне сказать кнопке "обновить свой штрих", когда я динамически изменяю его рамку? Я меняю кадр в коде, а не в xib.

Инициализация:

    MATCGlossyButton *repeat = [[MATCGlossyButton alloc] init];
    [repeat addTarget:self action:@selector(repeatPressed:) forControlEvents:UIControlEventTouchUpInside];
    [repeat setTitle:@"Repeat" forState:UIControlStateNormal];
    repeat.buttonColor = [UIColor brownColor];
    repeat.backgroundColor = [UIColor clearColor];
    repeat.cornerRadius = 20;
    repeat.frame = CGRectMake(200,208,105,50);

А потом:

repeat.frame = CGRectMake(265, 208, 105, 50);

1 Ответ

1 голос
/ 07 июля 2011

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

Простой способ визуализации границ ваших видов состоит в следующем:

#import <QuartzCore/QuartzCore.h>

[...]

view.layer.borderWidth = 1;
view.layer.borderColor = [UIColor redColor].CGColor;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...