Возможно, подменю не включено для взаимодействия с пользователем.
[submenu setUserInteractionEnabled:YES];
Другая возможность состоит в том, что рамка ползунка находится за пределами подменю.frame
Поскольку свойство clipsToBounds объекта UIViews по умолчанию имеет значение NO, ползунок не будет обрезан, несмотря на то, что он находится за рамкой подменю. Это означает, что рамка подменю не покрывает ползунок, и нет способа передать сенсорные события из подменю в ползунок подменю. Установите цвет фона подменю и убедитесь, что ползунок полностью расположен в рамке подменю.
[submenu setBackgroundColor:[UIColor blueColor]];
Кадр подменю может выглядеть примерно так (0, 0, 0, 0).
Включить
NSLog(@"%f, %f, %f, %f", submenu.frame.origin.x, submenu.frame.origin.y, submenu.frame.size.width, submenu.frame.size.height);
Вы могли бы также сделать
[submenu setClipsToBounds:YES];
и если ползунок исчезнет, то рамка подменю будет плохой.