現在、view controller
で構成さNavigation bar
れた があり、その後にサブビューとしてUIView
2 つUIButtons
追加された があります。次にUITableView
、コンテナの底から始まる下部がありUIView
ます。
現時点では、ユーザーがスクロールするUITableView
と と の後ろに移動UIView
しUIButtons
ます。私が実際にやりたいことは、UIView
とUIButtons
がテーブル ビューで上に移動することですが、この場合は 58 ピクセルの高さの値だけです。流れはこんな感じ…
1) テーブルがスクロールしUIView
、最初の 58 ピクセルまで一緒に移動します。
2) ユーザーはテーブルをスクロールし続けますが、UIView
「ピン」自体が の下に表示されなくなりnavigation bar
ます。
3) ユーザーがテーブルを下にスクロールすると、テーブルUIView
が選択されてビューにドラッグされます。新しい Facebook アプリは、タイムラインで似たようなことをしていると思います。
UIView
をテーブルのように設定したくありませんTableHeaderView
。プル ツー リフレッシュもあり、ボタンの上に座ってひどく見えるからです。contentOffset
テーブルの基礎となるプロパティをいじってみましscrollview
たが、レンガの壁にぶつかりました。
どこから始めればよいかについてのアドバイスをいただければ幸いです。
ありがとう
編集:私はもう少し進んで、このコードを使用して UIView のフレームを移動します。
-(void) scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog (@"Content Offset: %f", self.tableView.contentOffset.y);
NSLog (@"Button Frame: %f", self.btnBackground.frame.origin.y);
if (self.tableView.contentOffset.y > 0)
{
CGRect newFrame = self.btnBackground.frame;
newFrame.origin.x = 0;
newFrame.origin.y = -self.tableView.contentOffset.y;
[self.btnBackground setFrame: newFrame];
}
}
ここでの問題は、テーブル ビューが高速にスクロールされると、scrollViewDidScroll デリゲート メソッドが十分に速く起動されないことです。その結果、すばやくスクロールすると、UIView が元の位置に完全に戻るわけではありません。