• 締切済み

iPhone スライダ

今、iPhoneの開発を勉強しています。 スライダのつまみの位置変更の質問です。 例えば、今50ページのPDFのデータを読み込んで、ボタンを使いページをめくっている状態です。 1ページずつめくっていては、自分が見たいページを開くまで、時間がかかってしまうので、スライダを追加しました。 スライダのつまみを動かしてページをめくることはできましたが、ボタンが押された時、連動してつまみの位置を変更したいんですが、動いてくれません。ネットやテキストを見てますが、よくわかない状態です。 開発などををしている方で、お分かりになる方がいましたら教えて下さい。 お願いします。

みんなの回答

noname#97363
noname#97363
回答No.2

ソースコード内でUIパーツを生成しているにもかかわらず、表示させていないのは問題です。恐らく "見えているUISlider" はインターフェイスビルダで生成したのだと思いますが、[[UISlider alloc] init]したものとは別のインスタンスであり、 "見えている-" にはメッセージが届いていない感じがします。 "見えている-" にメッセージを届けるためには、コントローラ内にIBOutletというインスタンス変数を宣言しておき、インターフェイスビルダでそこに格納されるインスタンスを線で結ぶことが必要です。 例をアップロードしておくので、SliderExampleViewControllerの インスタンス変数 IBOutlet UISlider *outputSlider; インスタンスメソッド - (IBAction)valueDidChange:(UISlider *)inputSlider; がどのように接続されているか見てください。 http://www.dotup.org/uploda/www.dotup.org133114.zip.html (リンク先はShift-JISエンコード) もしくは http://www.dotup.org/uploda/www.dotup.org133114.zip

deno-momo
質問者

お礼

さっそく確認したところ、 言われた通りインターフェイスビルダで格納されるインスタンスを線で結んでいなかったので、動いていませんでした。 問題は解決することができました。 回答ありがとうございます。 またわからないことがありましたら、質問させて頂きたいと思っていますので、その時はまたお願い致します。 本当にありがとうございました。

noname#97363
noname#97363
回答No.1

ボタンと接続されているIBAction内で、UISliderのvalueを更新したらいいんじゃないでしょうか?

deno-momo
質問者

お礼

回答ありがとうございます。 ボタンと接続されているIBAction内で、 UISlider *pageslider = [[ UISlider alloc ] init]; と宣言して、 [ pageslider setValue:0.0f animated:YES]; と記載しています。 動きがわかるようにvalueに0.0と値を代入していますが動きません。 何かが足りないと思います。 初心者でよくわかってないので、詳しいことを教えて頂ければと思います。

関連するQ&A