1

下部に uiview があるという問題に直面しています。ここで、静的にしたいラベルをいくつか追加する必要があります。次に、スクロール可能なコンテンツを含むスクロールビューを uiview の上に追加しています。最後に、元の uiview をテーブル headerView として設定しています。そして、正しいcontentSizeにもかかわらず、scrollViewはスクロールしていません。

UIView *header=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 100*objects.count, 150)];
        [header setBackgroundColor:[UIColor redColor]];

    //set up scroll view
    UIScrollView *scrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 20, 100*objects.count, 110)];
    scrollView.delegate=self;
    scrollView.contentSize=CGSizeMake(100*objects.count, scrollView.frame.size.height);
    [scrollView setUserInteractionEnabled:YES];
    [scrollView setScrollEnabled:YES];

    [header addSubview:scrollView];

    [scrollView setShowsHorizontalScrollIndicator:YES];
    [self.tableView setTableHeaderView:header];

    //add stuff to scroll view

ただし、scrollView だけを tableHeaderView として設定すると、スクロールは完全に機能します

    [self.tableView setTableHeaderView:scrollView];

元のbotton uiviewをヘッダービューとして設定し、scrollViewを引き続き機能させる方法を誰かが提案できますか?

4

1 に答える 1

1

解決策は、スクロール ビューの scrollViewDidScroll デリゲート メソッドを使用し、スクロール量によってコンテンツ オフセットを調整することでした。このスクロールビューの問題が発生した理由はまだわかりませんが、今のところうまくいきました。

のように見える

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{

    [self.featuredLabel setFrame:CGRectMake(5+scrollView.contentOffset.x, 5, self.view.frame.size.width, 18)];
    [self.recentLabel setFrame:CGRectMake(5+scrollView.contentOffset.x, 100, self.view.frame.size.width, 18)];

}

それについて言及した投稿が見つかりません

于 2013-04-26T00:45:42.697 に答える