4

UISearchBarInstagram.appのようなスクロール効果を実現するにはどうすればよいですか?が上にUISearchBarスクロールしている間、UITableViewは上にスクロールします。UISearchBarorigin.yが0に等しい場合、停止は下にスクロールします 。ここに画像の説明を入力してください

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

4

2 に答える 2

3

私の解決策は次のとおりです。

- (void)viewDidLoad
{
[super viewDidLoad];
self.myTableview.delegate = self;
self.myTableview.dataSource = self;
self.mySearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, searchBarHeight)];
[self.myTableView setContentInset:UIEdgeInsetsMake(searchBarHeight, 0, 0, 0)];
[self.myTableView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGPoint offset = scrollView.contentOffset;
float move = offset.y + searchBarHeight;
if (move > -2*searchBarHeight && move <3*searchBarHeight) {
    [UIView animateWithDuration:0.1
                          delay:0
                        options:UIViewAnimationOptionCurveEaseOut|UIViewAnimationOptionAllowUserInteraction
                     animations:^{
                         CGRect searchBarFrame = self.mySearchBar.frame;
                         searchBarFrame.origin.y = MIN(MAX(-move, -searchBarHeight), 0);

                         [self.mySearchBar setFrame:searchBarFrame];

                     }

                     completion:^(BOOL f) {

                     }];
}
}
于 2013-02-20T12:42:50.473 に答える
1

UISearchBar のインスタンスを作成し、それを tableView Header View として設定します

        [tableView setTableHeaderView:yourSearchBar];

tableViewでスクロールするようになりました

于 2013-02-20T06:39:50.543 に答える