У меня есть простая тривиальная иерархия родительских/дочерних элементов UIView. Один родитель (UIView). Один ребенок (UIButton). Ограничения родителей меньше, чем ограничение на ребенка, так что часть ребенка выходит за пределы ограничивающей рамки его родителя.
Здесь проблема: те части дочернего элемента вне bbox родителя не получают штрихи. Только нажатие внутри bbox родителя позволяет дочерней кнопке получать штрихи.
Кто-нибудь может предложить исправление/обход?
UPDATE
Для тех, кто следит за этим вопросом, вот решение, которое я реализовал в результате @Bastians самый отличный ответ:
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
BOOL isInside = [super pointInside:point withEvent:event];
// identify the button view subclass
UIButton *b = (UIButton *)[self viewWithTag:3232];
CGPoint inButtonSpace = [self convertPoint:point toView:b];
BOOL isInsideButton = [b pointInside:inButtonSpace withEvent:nil];
if (isInsideButton) {
return isInsideButton;
} // if (YES == isInsideButton)
return isInside;
}