2014-11-01 94 views
0

當用戶點擊屏幕時,我使用下面的代碼將圖像標題展開爲全尺寸。這在iOS 8中是完美的。然而,它在iOS 7中什麼都不做。即改變約束什麼都不做。但是,在viewDidLayoutSubviews(初始加載)中更改相同的約束也可以在iOS 7中正常工作。這裏會發生什麼?任何幫助將非常感激。 contentView連接到視圖控制器的頂層視圖。屏幕上的約束更改點擊

-(IBAction) tapScreen:(id)sender { 
    if (!expanded) 
    { 
     if ([self.topSize constant] < correctImageViewHeight+self.topLayoutGuide.length) 
     [self.topSize setConstant:correctImageViewHeight+self.topLayoutGuide.length]; 
     expanded = YES; 

    } 
    else 
     { 
     [self.topSize setConstant:self.view.bounds.size.height/2.0f]; 
      expanded = NO; 
     } 
    [UIView animateWithDuration:0.4 
        animations:^{ 
         [self.contentView layoutIfNeeded]; 
        }]; 

} 

回答

0

實際上找出發佈問題後發生的事情。我重新設置了viewDidLayoutSubViews中的約束,由於某些原因,iOS 8中的約束更改並未再次調用該約束,但在iOS 7中調用該約束。