尝试将UISlider添加到UINavigationBar。我将它显示在滑块显示的位置,但在尝试更改值时,它不会移动。这是viewWillAppear中的代码。请注意,这是在子视图上,而不是主父视图。
UIView *viewofslider = [[UIView alloc] initWithFrame:CGRectMake(160, 10, 40, 30)];
UISlider *theslider = [[UISlider alloc] init];
[theslider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
[theslider setBackgroundColor:[UIColor clearColor]];
theslider.minimumValue = 50.0;
theslider.maximumValue = 150.0;
theslider.continuous = YES;
theslider.value = 100.0;
[viewofslider addSubview:theslider];
[self.navigationController.navigationBar addSubview:viewofslider];
答案 0 :(得分:1)
尝试将其添加到titleView
viewWillAppear:
UISlider *theslider = [[UISlider alloc] init];
...
self.navigationItem.titleView = theslider;
答案 1 :(得分:1)
要回答您的具体问题,我认为viewofslider
的宽度太窄,为40.0,因此UISlider
无法接触到该触摸。
如果您将viewofslider
的宽度更改为100.0,则应该可以与其进行互动。
但是,我同意rmaddy的评论,你只需将滑块添加到导航栏,就不需要UIView
。