2011-01-17 21 views
0

私はこの質問を持っています。私のアプリでは、私は多くの細胞を持っています。ユーザーが何かをクリックすると、私はVCを読み込んでそれを押しています。この動作を示すために、アプリケーションがロードされていることを通知するサブビューを表示しています。問題は、ユーザーがスクロールしてセルをタップすると、私のサブビューはまだtableViewの最上部にあるため、ユーザーはそれを見ていません。可視領域の境界を取得するUITableViewController

私のユーザが見ることができるように私のサブビューのフレームを変更する必要があります。このフレームを現在のビューの中心にします。私はそれをどのようにすることができますか?

例:私のコンテンツの高さは800ピクセルです。ここでは、読み込みに関する特定の情報を持つ400ピクセルのサブビューを表示しています。私のユーザーが2400ピクセルのセルにスクロールダウンすると、私はまだサブピクセルを400ピクセルで表示しているので、ユーザーは見ることができません。

タップされたセルのyをチェックして、新しいframe.origin.yを計算しようとしていました。問題は、2400ピクセルのセルが、最初のセルのユーザーが見ているか、最後のセルになる可能性があるので、画面の中央をどのように取得できますか?

一部の画面で編集:

私は最初の時間を選択

alt text

私は大きな時間スクロールダウンした後に選択します。 alt text

+0

あなたの説明があなたの記事にあなたの記事を置くことができればそれが助けになるなら、あなたの説明はあまり明確ではありません。 –

+0

さて、ここに行くと、今はっきりしていることを願っています。 – Ertai

答えて

0

あなたが追加され、ここで行っているように見える何をUIScrollViewのサブビューとしてのロードビュー。スクロールビューの後に、ロードするviewControllerをparentViewに追加する必要があります。

あなたのviewControllerがUIScrollviewのサブクラスであるため、これを行うことができない場合は、通常のUIViewControllerサブクラスに変更しますが、scrollViewプロトコルを実装してから上記のようにします。それ以外の場合は、読み込み中のViewControllerのフレームをscrollViewのオフセットにマップする必要があります。これは良い考えではありません。

関連する問題