UIButton внутри UIView, с шоу Touch, когда выделенное свечение обрезается суперпредставлением - PullRequest
1 голос
/ 12 апреля 2011

возможно, подход, который я использую с этим, может быть немного неправильным, и если так, возможно, кто-то может посоветовать ... но в любом случае, шаблон, который я использовал для создания виджетов респондента, включает добавление невидимого UIButtonTypeCustom это заполняет границы UIView для добавления обратно-совместимого поведения кнопки к любому представлению. для моих нужд это работает отлично. чтобы немного улучшить пользовательский опыт использования этой гибридной кнопки, я установил для параметра setsTouchWhenHighlighted значение YES для кнопки. это работает нормально, но «свечение» кнопки обрезается родительским UIView кнопки. я пробовал;

button.layer.masksToBounds = NO;
button.clipsToBounds = NO;
parentView.layer.masksToBounds = NO;
parentView.clipsToBounds = NO;

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

надеюсь, кто-то может помочь! спасибо

1 Ответ

0 голосов
/ 19 августа 2013

Я использую такой код, и свечение не обрезается родителем - проверено и протестировано.

UIButton myButton = [[UIButton alloc] init....];
[parentView addSubview:myButton];
myButton.showsTouchWhenHighlighted = YES;
parentView.clipsToBounds = NO;

Нет необходимости устанавливать .clipsToBounds = NO на кнопку;значение по умолчанию уже NO.

Вы проверили, что parentView не ноль, когда вы устанавливаете свойства?Проверьте также, что в иерархии нет еще одного UIView, который мог бы отсечь эффект свечения.

...