gpt4 book ai didi

iphone - 当 UISlider 成为 UIView 其他 self.view 的 subview 时,它不会工作

转载 作者:行者123 更新时间:2023-12-03 18:41:09 26 4
gpt4 key购买 nike

当我将 slider 添加为 self.view 之外的任何 View 的 subview 时,它不起作用(不滑动),但当它是 self.view 的 subview 时,它可以正常工作。除了 self.view 之外,您可以在其他 View 上看到它,但它不起作用。

这是我的代码:

alphaSlider = [[UISlider alloc] initWithFrame:CGRectMake(0, 0, 90, 10)];
[alphaSlider setMinimumValue:0.01];
[alphaSlider setMaximumValue:1];
[alphaSlider setValue:0.5];
[alphaSlider setUserInteractionEnabled:YES];
[alphaSlider addTarget:self action:@selector(alphaSliderDidChange:) forControlEvents:UIControlEventValueChanged];
alphaSlider.continuous = YES;
[submenu addSubview:alphaSlider];

有办法解决这个问题吗?

最佳答案

可能是子菜单未启用用户交互。

[submenu setUserInteractionEnabled:YES];

另一种可能性是 slider 的框架位于 submenu.frame 之外

由于 UIViews 的 ClipsToBounds 属性默认为 NO,因此即使 slider 位于子菜单框架之外,也不会被剪切。这意味着子菜单的框架不会覆盖 slider ,并且无法将触摸事件从子菜单传递到子菜单的 slider 。设置子菜单的背景颜色并确认 slider 完全位于子菜单的框架内。

[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];

如果 slider 消失,则子菜单的框架有问题。

关于iphone - 当 UISlider 成为 UIView 其他 self.view 的 subview 时,它不会工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com