この投稿のタイトルがわかりやすいかどうかわからないので、もっと詳しく説明しようと思います。私はこの 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 のように見えるはずです。そうすればボタンが使える