現在、view controllerで構成さNavigation barれた があり、その後にサブビューとしてUIView2 つ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 が元の位置に完全に戻るわけではありません。