#uiview #uibutton #highlight #glow #clipped
#uiview #uibutton #выделить #свечение #обрезанный
Вопрос:
возможно, подход, который я использую с этим, может быть немного неправильным, и если это так, возможно, кто-нибудь может посоветовать… но в любом случае, шаблон, который я использовал для создания виджетов-респондентов, включает добавление невидимого UIButtonTypeCustom, который заполняет границы UIView, чтобы добавить обратно совместимое поведение кнопки к любому представлению. для моих нужд это работает отлично. чтобы немного улучшить пользовательский опыт использования этой гибридной кнопки, я установил для кнопки Showstouch, когда подсветка подсвечивается, значение YES. это работает нормально, но «свечение» кнопки обрезается родительским UIView кнопки. я пытался;
button.layer.masksToBounds = NO;
button.clipsToBounds = NO;
parentView.layer.masksToBounds = NO;
parentView.clipsToBounds = NO;
но ни один из них не позволяет glow выходить за пределы parentView. это довольно незначительная косметическая проблема, но я думаю, что было бы приятнее заставить это работать
надеюсь, кто-нибудь может помочь! Спасибо
Ответ №1:
Я использую код, подобный этому, и свечение не обрезается родительским — проверено и протестировано.
UIButton myButton = [[UIButton alloc] init....];
[parentView addSubview:myButton];
myButton.showsTouchWhenHighlighted = YES;
parentView.clipsToBounds = NO;
Нет необходимости устанавливать .clipsToBounds = NO на кнопке; по умолчанию уже НЕТ.
Вы проверили, что parentView
значение не равно нулю при настройке свойств? Проверьте также, что UIView
дальше в иерархии нет другого, который мог бы обрезать эффект свечения.