iPhone 4/4s 화면에서 다른 UIButton
/UILabel
/크기로 표시하고 싶습니다. 상위 ViewController viewDidAppear:
메서드에서 내 viewFormatting
함수를 호출하여 새 단추 프레임을 설정할 수있었습니다.UIView 내 UIButton 프레임 변경
- (void) viewFormatting
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
CGSize result = [[UIScreen mainScreen] bounds].size;
//iPhone 4
if (result.height == 480)
{
self.myButton.frame = CGRectMake(x, y, width, height);
self.myLabel.frame = CGRectMake(x, y, width, height);
//etc.
}
}
}
하지만 별도의 UIView 클래스에 initWithFrame:
내부에 같은 방법 viewFormatting
를 호출 할 때 버튼/레이블 프레임 크기를 조정하지 않습니다. 나는 또한 layoutSubviews
내부 함수 호출을 시도했다. NSLog
을 viewFormatting
안에 넣었으므로 올바르게 호출되는 것을 알고 있지만 버튼/레이블 프레임은 변경되지 않습니다.
참고 : 두 시나리오 모두에서 XIB 파일에 콘센트를 만들었습니다.
도움을 주시면 대단히 감사하겠습니다.
ViewDidLayoutSubview에 기재하십시오. – Jageen
이 경우입니까? http://stackoverflow.com/questions/19515924/redraw-view-off-screen-contains-picker-view-and-tool-bar/19532803#19532803 – Jageen
** AutoLayout **을 사용하고 있습니까? – nburk