可能是子菜单未启用用户交互。
[submenu setUserInteractionEnabled:YES];
另一种可能性是滑块的框架位于 submenu.frame 之外
由于 UIViews 的 ClipsToBounds 属性默认为 NO,因此即使滑块位于子菜单框架之外,也不会被剪切。这意味着子菜单的框架不会覆盖滑块,并且无法将触摸事件从子菜单传递到子菜单的滑块。设置子菜单的背景颜色并确认滑块完全位于子菜单的框架中。
[submenu setBackgroundColor:[UIColor blueColor]];
子菜单的框架可能类似于 (0, 0, 0, 0)。
Include
NSLog(@"%f, %f, %f, %f", submenu.frame.origin.x, submenu.frame.origin.y, submenu.frame.size.width, submenu.frame.size.height);
你也可以这样做
[submenu setClipsToBounds:YES];
如果滑块消失,则子菜单的框架损坏。