automaticallyAdjustsScrollViewInsetsをNOにしてもなぜか20ptのinsetが入ってしまって悩んでいました。
そのときにこの記事を見て、『直下のviewに対してaddしたview(view.subviews[0])についても設定が反映される』ということがわかり、親を辿って全部NOに設定したら直りました。
http://qiita.com/yimajo/items/254c7cebab7864678246
for (UIViewController *controller = self; controller != nil; controller = controller.parentViewController) {
controller.automaticallyAdjustsScrollViewInsets = NO;
}
あとカスタムContainerViewControllerで子をViewController hierarchyに追加する前に子のview.frameを修正してviewDidLoadが呼ばれちゃったりしてたのも修正する必要があった。