2009-08-06 7 views
21
UITableViewCellに埋め込まれた UITextFieldを編集するときに UITableViewでスクロールを無効にしようとしています。 これは、編集時にセルがスクロールして表示されないようにするためです(また、関連するセルの「リサイクリング」の問題を回避するため)。

これは動作しません。(少なくとも私にとって... iPhone SDK 3.0は、シミュレータを試しました) 私はこれらのプロパティをNOに設定しています。プロパティをNOに設定しても、UITableViewは通常はタッチイベントに応答し続けます。 そしてそれも楽しいスクロールです。 ネット上の誰かがこれが実際に働いていると主張していなかったなら、私は心配しないでしょう。UITableView(iPhone SDK 3.0)でスクロールを無効にする

何か不足していますか? または、そのスーパークラス(UIScrollView)で利用可能な機能を再び使用できるようにするには、UITableViewをサブクラス化する唯一の代替方法ですか?

答えて

49

self.tableView.scrollEnabled = NO;を試しましたか?

私はしばしば、Webからのコードは、単に接頭辞の自己の欠如のために動作しませんでした。私は問題なくこれを試しました。

動的にオンとオフを切り替えるときにこの機能が有効かどうかわかりません。オブジェクトを初期化するとき、それは永久的な設定のため、少なくとも作業を行い...

2

は、私が試した:[セルフビュー](

[(UIScrollView*)[self view] setScrollingEnabled:NO]; 

をし、それが働いていた現在のビューコントローラ、すなわち、のUITableViewの私の見解であります)。

事は、私は警告を取得し、次のとおりです。

「UIScrollViewの」「-setScrollingEnabled:」に応答しないことが

を正直なところでは、プロパティは「scrollEnabled」であるが、それはともかかわらず動作します上記のコード!

だから、物事を行うには「正しい」方法は、次のようになります。それはまた、他の方法で、私を混乱さを働くのはなぜ

[(UIScrollView*)[self view] setScrollEnabled:NO]; 

...

19

あなたがUITableViewControllerを使用している場合は、キャスト不要のtableViewプロパティもあります。これは私のために働く:

self.tableView.scrollEnabled = NO; 

それがあなたのために働くかどうか私に教えてください。

+0

をスクロールしないだろう、なぜ人々は質問をし、決して右ANSのためのダニを与えると思いますか? –

+0

これは私のケースでは機能しませんでした。 setScrollEnabledメソッドを呼び出すことだけが私のために働いています。フードの下で同じコードを実行する必要があるので意味がありません。 – brodney

2

これらの回答はいずれも私の場合は機能しませんでした。すべてのscrollViewが無効になっていても、テーブルビューは常にスクロールし続けました。

最後に、hereに解決策が見つかりました。UITableViewControllerは、キーボードが編集中のUITextViewを非表示にするたびにこの "私のために"行います。

解決策は、UITableViewControllerではなくUIViewControllerから継承し、必要なテーブル機能を自分で実装することです。

6

ストーリーボードの非選択スクロールを有効にしましたか?

Scrolling Enabled : NO

1

あなたはその内容が表示されていない場合のみ、スクロールしたい場合は、次に設定:

yourTableview.alwaysBounceVertical = NO;あなたのコンテンツが表示されている場合、ここで

は、あなたのテーブルビューは、はい、それは仲間の作品

関連する問題