2014-03-26 102 views
1

uiviewcontroller具有兩個UIViews和一個tableview在stroyboard IB並用IBoutlet添加子視圖以查看變化的其他子視圖幀

當在頂部的UIView用戶點擊輕掃,我調用下面的方法來改變所有的幀連接子視圖IBoutlet元素。這樣可行。

-(void)hideTopViews 
{ 
    [UIView animateWithDuration:0.25 animations:^{ 
     [_overallHealth setHidden:YES]; 
     _overallHealth.frame = CGRectMake(0, 0,self.view.frame.size.width,0); 
     [_healthBar setHidden:YES]; 
     _sortView.frame = CGRectMake(0, 45,self.view.frame.size.width,_sortView.frame.size.height); 
     _portfoList.frame = CGRectMake(0, _sortView.frame.origin.x+_sortView.bounds.size.height+50,self.view.frame.size.width,self.view.frame.size.height); 
     _sortButton.frame = CGRectMake(90, 45,_sortButton.frame.size.width,_sortButton.frame.size.height); 
     [self.view bringSubviewToFront:_sortButton]; 
     self.navigationItem.leftBarButtonItems=nil; 
    }]; 


} 

然而,當我添加一個子視圖編程到self.view所有子視圖回到原來的位置就像在故事板。

-(void)showPortfolioDetailsScreen 
{ 
    PortfolioDetails *portView=[[PortfolioDetails alloc] initWithFrame:CGRectMake(300,200,200,200)]; 
    portView.backgroundColor=[UIColor redColor]; 
    [self.view addSubview:portView]; 

} 

enter image description here

enter image description here

enter image description here

我該如何解決這個問題?

+2

爲自動關閉佈局? – tanzolone

回答

0

@tanzolone是在正確的軌道,如果你只使用肖像模式,並希望自己的故事板,停止改變你的子視圖原始幀去你的故事板,並取消Use Autolayout

,所以你可以使用舊的支柱和 - 彈簧模型。

這裏是自動版式的詳細教程,雖然 http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2

+0

如何在不移除自動佈局的情況下解決此問題?是否有可能? – yhpets

相關問題