0

この投稿のタイトルがわかりやすいかどうかわからないので、もっと詳しく説明しようと思います。私はこの UserProfileViewController を持っています:

ここに画像の説明を入力

上部は、これらのボタンをサブビューとして持ち、左右に反転する UIImage です。下部は、これらのボタンに基づいてさまざまなビュー コントローラーを表示するコンテナー ビューです。ビューコントローラーはすべてテーブルビューなので、私が達成したいのは、各テーブルビューをスクロールすると、上半分のUIImageが縮小し、テーブルビューがウィッチポイントのナビゲーションバーを豊かにするまで、タブビューのフレームが拡大することです。テーブルビューの 1 つの contentOffset に kvo を配置し、上部の UIImage とテーブルビューのサイズを変更しようとしましたが、期待どおりに動作しません。それらは同期して動かず、流暢ではありません。

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    if([keyPath isEqualToString:@"contentOffset"]){
        CGPoint offset = [[change valueForKey:NSKeyValueChangeNewKey] CGPointValue];
        NSLog(@"Old value: %f", offset.y);

        CGRect newFrame = self.hoverView.frame;
        newFrame.size.height -= offset.y;
        self.hoverView.frame = newFrame;

        CGRect newFrame2 = self.backOfHeaderView.frame;
        newFrame2.size.height -= offset.y;
        self.backOfHeaderView.frame = newFrame2;

        CGRect newFrame3 = self.userWallViewController.activityFeedTableView.frame;
        newFrame3.origin.y -= offset.y;
        self.userWallViewController.activityFeedTableView.frame = newFrame3;
    }
}

どんなアイデアや提案も大歓迎です。ありがとう

更新: より良い説明

したがって、基本的に親指を上にスクロールすると(テーブルビューを下にスクロールすると)、テーブルビューのフレームがフルスクリーンになるまで上に移動して拡大し、同時にUIImageが縮小するため、UIImageを画面から押し出しているテーブルビューのように見えます。親指を下にスクロールすると(テーブルビューを上にスクロールすると)、テーブルビューのフレームは最初の位置に復元されるまで縮小し、UIImage が大きくなります。UIImage をドラッグして画面に戻す tablewview のように見えるはずです。そうすればボタンが使える

4

0 に答える 0