2013-03-07 2 views
1

내 앱을 사용하는 동안 전화를 받으면 통화 상태 표시 줄의 상단에 약간의 공간이 있습니다.전화 통화 후 iOS 앱 레이아웃이 변경됨

통화가 끝나면보기가 '변경됨'상태로 유지됩니다. 어떻게 응용 프로그램의 크기를 다시 조정할 수 있습니까? 현재 앱을 종료하고 다시 시작해야합니다.

+0

해당 샷을 표시 할 수 있습니까? – Yashesh

답변

2

-layoutSubviews을 덮어 쓰는 사용자 지정보기가 있습니까?

제 경험상 이것은 -layoutSubviews을 사용하여 사용자 지정 레이아웃을 수행하지만 적절한 시간에 -setNeedsLayout:을 호출하지 않는다는 것을 의미합니다. 일반적으로 setting the frame does not force a layout (자동 레이아웃은 다르게 처리됩니다). -layoutSubviews을 무시 어떤 관점에서

, 다음 시도 :

-(void)setFrame:(CGRect)frame 
{ 
    CGRect oldFrame = self.frame; 

    // This check changes behaviour slightly: 
    // v.frame = v.frame; 
    // no longer cancels animations. 
    // Sometimes this works around an animation glitch. 
    if (!CGRectEqualToRect(frame,oldFrame)) 
    { 
    [super setFrame:frame]; 
    if (!CGSizeEqualToSize(frame.size,oldFrame.size)) 
    { 
     // Only layout if the size changes. 
     [self setNeedsLayout]; 
    } 
    } 
} 

(당신은 -setBounds: 위해 동일을 할 수 있지만 AFAIK가 UIScrollView을 제외하고 UIKit에 의해 호출되지 않기 때문에 일반적으로 불필요합니다.)