Fix for the entire issue, only move contentOffset after viewDidLayoutSubviews