私はUITableViewの上にある100ピクセルの高さのUIViewを持っています。上にスクロールすると、UIViewが私のUITableViewと一緒にスクロールするようにしたいのです。私のUIViewの50ピクセルがスクロールアップから隠されているとき、私はスクロールアップを続けている最上部にUIViewを固定したいと思います。これはどのように達成できますか?私は、私のUIViewのトップNSLayoutConstraint定数は、私のtableviewのコンテンツのオフセットに等しい変更を使用してみましたが、彼らは同じ速度でスクロールしません。あなたが必要なもの一緒にスクロールするUITableViewの上にビューを追加する方法。スクロール後にスティックに固定する
2
A
答えて
0
は(あなたのViewControllerがtableviewDelegateプロトコルを実装するために覚えておいてください)あなたのtableViewのためviewForHeader inSection
メソッドを実装することであり、あなたはそれを持ってたら、UITableViewStylePlain
にごtableViewStyleを設定する必要があります場合は、あなたのコードを共有しますより多くのヘルプに興味があります。
1
私はyou'rが正しく質問を理解している場合、あなたはこの
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
static CGFloat previousOffset;
CGRect rect = self.yourUIView.frame;
//NSLog you'r UIView position before putting any condition
// NSLog(@"Origin %f",rect.origin.y);
rect.origin.y += previousOffset - scrollView.contentOffset.y;
previousOffset = scrollView.contentOffset.y;
//assuming you'r UIView y position starts from 0
//Before setting the condition please make sure to run without any
//condition if not working
if(rect.origin.y>=-50 && rect.origin.y<=0){
self.yourUIView.frame = rect;
}
}
はそれが役に立てば幸いようscrollViewDidScroll:
方法テーブルビューを実装することによってそれを行うことができます...まず
+0
のスタイルは私のコードを言及するのを忘れています私は迅速にわからないので、Objective Cにあります... –
3
あなたのtableViewがgrouped
であることを確認してください:
self.tableView = UITableView(frame: CGRect(x: 0, y: (self.navigationController?.navigationBar.frame.maxY)!, width: self.view.bounds.size.width, height: (self.view.bounds.size.height - (self.navigationController?.navigationBar.frame.maxY)!)), style: .grouped)
self.tableView.delegate = self
self.tableView.dataSource = self
self.view.addSubview(self.tableView)
そして、あなたはtableView
のsubview
にUIView
を追加する必要があります。
self.myView = UIView()
self.myView.backgroundColor = UIColor.green
self.myView.frame = CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: 100)
self.tableView.addSubview(self.myView)
あなたの細胞が適切な場所にあるように、あなたのtableViewの最初のセクションの高さ100のヘッダを追加します。
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 100
}
次に、スクロールするときにUIView
のフレームを調整します。
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offset = scrollView.contentOffset.y
if(offset > 50){
self.myView.frame = CGRect(x: 0, y: offset - 50, width: self.view.bounds.size.width, height: 100)
}else{
self.myView.frame = CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: 100)
}
}
デモ:
関連する問題
- 1. スクロール後にUITableViewの固定ヘッダーを非表示にする方法
- 2. スクロール時にタブレイアウトを上に固定する方法
- 3. スクロール時にUIScrollView内のイメージ/ビューを固定する方法
- 4. 下にスクロールしながら固定ビューを上にスクロールする方法はありますか?
- 5. 私のネバーバーをスクロールして上に固定する方法は?
- 6. スクロールの上にナビゲーションバーを固定する方法
- 7. UITableViewセルが一番上にスクロールすると、セルが一番上に固定されます
- 8. スクロールのようにスクロールするときにサイドバーを固定する方法
- 9. Collection View Cellと一緒にビューをスクロール
- 10. 固定ナビゲーション - スクロールして上部にスクロール
- 11. UITableViewのデリータが上にスクロールする
- 12. OpenCartで「カートに追加」した後にスクロールする方法
- 13. windows.scrollBy上に固定スクロールの値を追加
- 14. スクロール時にNavbarがヘッダーにスティックする
- 15. Sass/CSS:親divと一緒にスクロールする固定divを停止します
- 16. ブートストラップ:スクロール後に上部に固定されるスティッキーナビゲーションバー
- 17. リストビューのコンテンツと一緒にアンドロイドボタンをスクロールする方法
- 18. UITableViewスクロールと共にUIViewをスクロールする
- 19. 固定スクロールバーでアンカーにスクロールし、スクロール後にスクロール後に修正をナビ
- 20. スクロール時にメニューバーを上に固定
- 21. ブートストラップでブラウザの上部にスクロールNavBarスティックを作成する
- 22. iOSデュアルビューコントローラがページ上で一緒にスクロールする
- 23. スクロール後にイメージを上に固定/固定 - イメージが上にまっすぐにジャンプしますか?
- 24. 上部に固定ヘッダーがあるテーブルをスクロールする
- 25. UITableViewで特定のセルにスクロールする方法
- 26. スクロール後の一番上のdiv固定 - iOSモバイルデバイス上の問題
- 27. スクロールした後に固定されるnavbarをフェードイン/アウトする方法は?
- 28. スクロールせずにListViewの上部にアイテムを追加する方法?
- 29. ページをスクロールした後に画像を上にスクロールし、ページをスクロールしてフッタにスクロールした後にスクロールさせる方法はありますか?
- 30. Angular2 - ダイアログを上にスクロールする方法
あなたがこの回答に見てみる必要があります。http://stackoverflow.com/a/17583567/6203030何あなたが探していることにtableView –