This only happens on iOS 13. Tested it on iOS 12 and it works fine.
Post
Replies
Boosts
Views
Activity
Found the problem. The selectedRateView had a height constraint of 0 with a priority of 1000. This caused the view to have a height of 0 even though the code was trying to set it's frame. For some reason, the child controls were still visible; but not receiving events.For some reason, this wasn't being enforced on older versions of iOS. The selectedRateView was the height specified when setting the frame in code and it's children were receiving touch events.(I inherited this code)
Setting a button title didn't help.
Removing the buttons and putting TapGestureRecognizers on the Labels (and setting userInteractionEnabled = YES didn't help.
Remember, this only stopped working under iOS 13Removing the TapGestureRecognizer doesn't change the behaviour.I used the View Hierarchy Debugger to make sure the buttons were in front.The view hierarchy is...View // Of base ViewController - TapGestureRecognizer is here View // Of ViewController - pushed on Navigation stack selectedRateVuew Label x4 - each label has a button on top of it with the same frame Button x4I am going to try to remove the buttons and just put TapGestureRecognizers on the Labels
The buttons are added programmatically.self.selectedRate1Button = [[UIButton alloc] initWithFrame:self.selectedRateLabel.frame];
[self.selectedRate1Button addTarget:self action:@selector(selectedRateButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[self.selectedRate1Button setBackgroundColor:[UIColor clearColor]];
self.selectedRate1Button.isAccessibilityElement = YES;
self.selectedRate1Button.accessibilityLabel = @"RatesViewController_selectedRate1Button";
[self.selectedRateView addSubview:self.selectedRate1Button];I didn't write the app. It doesn't use AutoLayout at all.The ViewSController IS call/ing [super ViewDidL=oad] in ViewDidLoadThe buttons ARE at the front.