5

TableViewControllerがあります:

ここに画像の説明を入力してください

ご覧のとおり、上部に独自のカスタムバーがあります。UITableビューはstatic1つにすぎず、UITableViewの上部にビューを追加します。

TableViewを上にスクロールすると、次のような画像になりますが、必要ありません。tableViewのスクロールを制限できる簡単なコードはありますか?

ここに画像の説明を入力してください

4

6 に答える 6

20

UITableView は UIScrollView のサブクラスであるため、この UIScrollViewDelegate メソッドを使用して、上部境界線より上のスクロールを禁止できます。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView == self.tableView) {
        if (scrollView.contentOffset.y < 0) {
            scrollView.contentOffset = CGPointZero;
        }
    }
}
于 2012-10-09T18:42:03.937 に答える
4

uitableview のバウンス プロパティを NO に設定する必要があります。

    UITableView  *tableView;
    tableView.bounces = NO;

編集:インターフェースビルダーからのバウンスのチェックを外すこともできることに注意してください

詳細については、この回答を確認してくださいスクロール時にUITableViewの垂直バウンスを無効にします

于 2012-10-09T18:38:41.853 に答える
0

私が正しく理解している場合は、カスタムバーをテーブルビューの一部として設定しています。ビューcustom barを設定するときに、テーブルビューではなく別のビューに配置し、カスタムバーの下にテーブルビューを配置します。カスタム バーと静的テーブル ビューを持つカスタム ビュー コントローラーを作成する必要があります。

于 2012-10-09T18:08:44.087 に答える
0

UIViewControllerではなく、タイプとしてView Controllerオブジェクトを作成する必要がありますUITableViewController。次に、カスタム バーをサブビューとして に追加しますself.view。別のものを作成しUITableView、カスタム バーの下に追加します。これにより、カスタム バーが静的になり、テーブル ビューがスクロール可能になります。

アップデート:

テーブルビューを静的にするには、次のように設定する必要があります

tableView.scrollEnabled = NO:

これがうまくいくかどうか教えてください。

于 2012-10-09T18:15:52.903 に答える
0

マティアスの答えの迅速なバージョン:

func scrollViewDidScroll(_ scrollView: UIScrollView) {
        if (scrollView == self.ordersTable) {
            if (scrollView.contentOffset.y < 0) {
                scrollView.contentOffset = CGPoint.zero;
            }
        }
    }
于 2021-07-24T16:13:56.750 に答える