0

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

2 に答える 2

1

具体的な質問に答えると、 の幅がviewofslider40.0 では狭すぎて、 でタッチが拾われていないと思いますUISlider

viewofsliderを 100.0 に変更すると、操作できるようになります。

ただし、スライダーをナビゲーションバーに追加するだけでよいという rmaddy のコメントには同意しますUIView

于 2013-11-14T16:40:58.517 に答える
1

titleViewView Controllerのナビゲーション項目に追加してみてくださいviewWillAppear:

UISlider *theslider = [[UISlider alloc] init];
...
self.navigationItem.titleView = theslider;
于 2013-11-14T16:39:40.823 に答える