누군가 iOS가 인터페이스 회전시 수행하는 작업을 설명 할 수 있습니까? 아이폰을 회전 한 후에 사라진 하나의 뷰에 레이아웃 문제가있다. 뷰가 새로운 프레임, 범위 또는 무엇이든간에 설정되지 않은 것으로 보입니다. 아무튼 인터페이스가 한 번 회전 된 후에 layoutproblem은 영원히 사라졌습니다. 따라서 인터페이스가 회전 할 때 무언가가 뷰로 설정되어야합니다. 뾰족 파일에서보기를로드하고있는 navigationController으로 보여정확히 인터페이스 회전에서 UIView는 어떻게 이루어 집니까?
미안 :
BirthdayReminderWidgetConfigViewController *vc = [self.storyboard
instantiateViewControllerWithIdentifier:@"BirthdayConfigController"];
self.navigationController pushViewController:vc animated:true];
아마 내가 인터페이스를 회전하지 않고 올바른보기를 표시하기 위해해야 할 몇 가지 설정이 있습니다.
이 프로젝트는 MainStoryboard이 포함
I've는 다음과 같이 nib 파일에서로드 뷰와 레이아웃 문제가있어. 그 안에, nib 파일에서 뷰를로드합니다.
NSArray *xib = [[NSBundle mainBundle] loadNibNamed:@"View" owner:self options:nil];
self.configViewController = [xib objectAtIndex:0];
스토리 보드는 네비게이션 컨트롤러를 가지고 있으며,로드 뷰는 다음과 같이 표시됩니다 : 잘못 내 의견으로는 아무것도에 따라서
if (currentWidgetConfigViewController != nil)
{
[self.navigationController pushViewController:currentWidgetConfigViewController animated:true];
}
? (첫 번째 질문) 하지만 이제 문제가 생겼습니다.
은 무엇 아이폰 OS가하는 것은
컨트롤이 잘 정리되지 않습니다 다음과 같다 : 내가 설계 무엇
는 점이다.내가 그 코드와 PeoplePicker를 열어 새보기의 버튼과 그 외에
는 : :[self presentViewController:self.picker animated:YES completion:nil];
사람들이 [self.picker dismissViewControllerAnimated:true completion:nil];
와 선택기 닫은 후 나는이 결과를 얻을 수
그래서 여기서 무엇이 잘못 될까요?
- (void) setFrame: (CGRect) newFrame
{
NSLog(@"New frame: %@", NSStringFromCGRect(newFrame));
[super setFrame:newFrame];
}
는 또한,
transform
은 일반적으로 회전시 변경 :보기에
보기가 회전 할 때마다 프레임의 프레임을 변경해야합니다. 가로보기의 세로 크기가 세로보다 작기 때문에 가로 320 세로 또는 세로 320을 넘어서는보기가있는 경우 바인딩됩니다. 숨겨져 있어야합니다. –