더 많은 뷰 컨트롤러 (탐색 표시 줄)가 있으면 UIView가 높이로 내려갑니다. 또한이 높이 = 44px임을 알고 있습니다. 나는 또한이 푸시 다운이를 유지한다는 것을 발견했다 [self.view].frame.origin.y = 0
.
그렇다면이 탐색 막대의 높이를 상수로 설정하는 것 외에 어떻게 결정합니까?
또는 더 짧은 버전의 경우 내 UIView가 탐색 막대와 함께 표시되는지 어떻게 알 수 있습니까?
전구가 켜지 기 시작했습니다. 불행히도 아래 설명과 같이 문제를 해결하는 획일적 인 방법을 찾지 못했습니다.
나는 내 모든 문제가 내 자동 크기 조정 마스크에 집중되어 있다고 생각합니다. 그리고 UIWebView의 유무에 관계없이 동일한 증상이 있다고 결론 내린 이유. 그리고 그 증상은 모든 것이 초상화에 복숭아 색이라는 것입니다. Landscape의 경우 맨 아래 UIButton이 TabBar 뒤에 나타납니다.
예를 들어 하나의 UIView에서 위에서 아래로 있습니다.
UIView – 스프링 설정 (기본 경우) 및 스트럿 없음
UIScrollView-두 개의 스프링을 설정하고 UIView와 같은 다른 모든 항목을 지우면 UIButton이 바로 위에있는 객체에 침입합니다. 모든 것을 지우면 UIButton은 정상이지만 맨 위에있는 것은 StatusBar 뒤에 숨겨지고 UI 스트럿은 Tab Bar 뒤에 나타납니다.
UILabel과 UIImage는 다음 수직 방향 – 상단 스트럿 세트, 다른 곳에서도 유연
UIWebView가있는 몇 가지 그림을 완성하십시오.
UIWebView-스트럿 : 위, 왼쪽, 오른쪽 스프링 : 둘 다
UIButton – 아무것도 설정되지 않음, 즉 어디에서나 유연
전구가 희미하지만 희망이있는 것 같습니다.
짧은 답글 코멘트에 제공된 것보다 더 많은 공간이 필요했기 때문에 저와 함께 해주십시오.
내가 정말로 낚시하는 것을 이해하려고 노력해 주셔서 감사합니다 ... 그래서 여기에갑니다.
1) 각 UIViewController (TabBar 앱)에는 UIImage, 일부 텍스트 및 그 밖의 모든 것이 있습니다. 또 다른 공통 분모는 맨 아래에있는 UIButton입니다. 일부 UIViewController에서 UIButton 위에 UIWebView가 있습니다.
따라서 UIImage, 텍스트 등 UIWebView (일부) UIButton
위의 모든 것은 UIScrollView입니다.
2) UIWebView가있는 사람들의 경우 autoresizingMask는 다음과 같습니다.
—
|
—
^
|
|
| — | ← ---- → | — | | | V UIButton의 마스크는 아무것도 설정되어 있지 않습니다.
내 -viewDidLoad 내에서 -repositionSubViews를 호출하여 다음을 수행합니다.
UIWebView가 없으면 IB로 배치 한 UIButton을 중앙에 두는 것 외에는 아무것도하지 않습니다.
UIWebView가 있으면 * content * Height를 결정하고 전체 내용을 포함하도록 프레임을 설정합니다.
UIScrollView *scrollViewInsideWebView = [[webView_ subviews] lastObject];
webViewContentHeight = scrollViewInsideWebView.contentSize.height;
[webView_ setFrame:CGRectMake(webViewOriginX, webViewOriginY,
sameWholeViewScrollerWidth, webViewContentHeight)]
일단 그렇게하면 프로그래밍 방식으로 UIButton을 아래로 밀어 UIWebView 아래에 배치됩니다.
세로에서 가로로 회전 할 때까지 모든 것이 작동합니다.
내 -didRotateFromInterfaceOrientation 내에서 -repositionSubViews를 호출합니다.
UIWebView의 컨텐츠 높이가 회전과 함께 변경되지 않는 이유는 무엇입니까?
세로에서 가로로 콘텐츠 너비가 확장되고 콘텐츠 높이가 줄어 듭니다. NSLog에 따르면 시각적으로 정상적으로 수행됩니다.
어쨌든 UIWebView의 유무에 관계없이, 내가 이야기 한 버튼은 가로 모드에있을 때 TabBar 아래로 이동하지만 화면이 위로 스크롤되지는 않습니다. "강력하게"스크롤하면 TabBar 뒤에서 볼 수 있지만 TabBar 뒤에서 "뒤로"떨어집니다.
결론적으로, 이것은 마지막으로 TabBar와 NavigationBar의 높이에 대해 물었습니다. TabBar 자체가 UIView의 맨 아래에 배치되고 NavigationBar가 UIView를 아래로 밀기 때문입니다.
이제 여기에 이해가되지 않았기 때문에 여기에 의견을 추가하겠습니다.
UIWebView가 없으면 IB에서 보는 것처럼 모든 것을 그대로 둡니다.
UIWebView를 사용하면 UIWebView의 frame.height를 contentHeight로 늘리고 모든 하위 뷰를 둘러싸는 주변 UIScrollView의 높이를 위로 조정합니다.
잘 있어요.