가장자리 확장 레이아웃 6


iOS 7의 상태 표시 줄 아래에보기가 표시되며 EdgesForExtendedLayout이 도움이되지 않습니다.
내보기가 상태 표시 줄 아래에 표시되는 데 문제가 있습니다.
검색 후 "this. EdgesForExtendedLayout = UIRectEdge. None;"을 추가해야한다는 것을 알았습니다. ViewController의 ViewDidLoad ()에 연결했지만 나에게 적합하지 않습니다.
참조로 xamarin (docs. xamarin / samples / Hello_iPad)의 hello_iPad 예제를 사용했습니다.
IB의 화면 상단에 레이블을 추가했습니다.
iOS6에서는 올바르게 표시됩니다.
이제 "this. EdgesForExtendedLayout = UIRectEdge. None;"줄을 추가했습니다. iOS7 시뮬레이터에서 실행하면 레이블이 상태 표시 줄에 표시됩니다.
내가 도대체 ​​뭘 잘못하고있는 겁니까?
이 코드를 사용해보십시오.
나는 비슷한 문제가있다.
iOS의 버전을 확인하고 버전이 7이면 변수 "EdgesForExtendedLayout = UIRectEdge. None;을 설정하고 있습니다."
base. ViewDidLoad () 후 viewDidLoad () 메서드에서 창 루트보기 컨트롤러에 대해이 변수를 설정합니다.
하지만 여전히 상태 표시 줄 아래에보기가 나타납니다.
Xamarin (4.0412 (빌드 3))을 사용하고 있습니다.
Apple 개발자 도구 Xcode 5.0 (3332.25),
Xamarin. iOS 버전 : 7.0.1.4 (Business Edition),
모노 3.2.3 ((no / 8d3b4b7),
운영 체제 Mac OS X 10.8.5.
그것은 나에게도 효과가 없었습니다.
결국 iOS 7 용으로 디자인하고 iOS 6 용 인터페이스 빌더에서 델타를 설정하여이 문제를 해결했습니다.
EdgesForExtendedLayout 설정을 viewwillappear 메서드에 넣으려고 생각하는 것이 있다고 생각합니다.
당신은 그것을 시도하고 그것이 효과가 있는지 볼 수 있습니다.
먼저 답장을 보내 주셔서 감사합니다.
AndrewReed 뷰포트에 EdgesForExtendedLayout 설정을 넣으려고했지만 행운이 없습니다.
YvoNelemans 나는 당신의 힌트를 시도 할 것이고, 이것이 도움이되는지 아닌지, 쓸 것이다.
이 솔루션의 번역을 통해이 작업을 수행 할 수있었습니다.
이것을 ViewWillAppear (boolean)에 넣습니다.
MatGiaimo의 코드가 한 번만 실행되는지 확인하십시오. 다시보기로 돌아 가면 다시 실행하면 안됩니다. 그렇지 않으면보기가 아래쪽으로 이동합니다.
HugoLogmans 문제가 발생하여 잠시 후 다시 반복적으로 작업을하지 않도록 간단한 bool 플래그로 끝내고 탭에서 컨트롤러간에 앞뒤로 전환 할 때 발생할 수 있습니다.
프로그래밍 방식으로 모든 레이아웃을 수행 한 프로젝트에서 UIViewController에서이 코드를 작성했습니다. 또한 iOS 제공 TopLayoutGuide를 사용하여 값을 하드 코딩하지 않습니다. (참고 : 프레임 대신 중심을 조정하면 이동 된 뷰가 다시 그릴 필요가 없음을 의미합니다.)
(또한 통합 API를 사용하지 않는 경우 PointPoint 용 CGPoint를 변경하십시오.)
HugoLogmans 문제가 발생하여 잠시 후 다시 반복적으로 작업을하지 않도록 간단한 bool 플래그로 끝내고 탭에서 컨트롤러간에 앞뒤로 전환 할 때 발생할 수 있습니다.
프로그래밍 방식으로 모든 레이아웃을 수행 한 프로젝트에서 UIViewController에서이 코드를 작성했습니다. 또한 iOS 제공 TopLayoutGuide를 사용하여 값을 하드 코딩하지 않습니다. (참고 : 프레임 대신 중심을 조정하면 이동 된 뷰가 다시 그릴 필요가 없음을 의미합니다.)
(또한 통합 API를 사용하지 않는 경우 PointPoint 용 CGPoint를 변경하십시오.)
당신의 솔루션은 뷰를 statusBar 아래에 놓았지만 뷰의 맨 아래 부분은 보이지 않게 이동했습니다. statusBar를 오버랩시키지 않고 뷰를 모두 한 번에 볼 수있게 제한 할 수있는 방법에 대한 단서.

Edgesforextendedlayout ios 6. 업그레이드 된 후 동료와 동일한 오류가 발생합니다. 우리 프로젝트 모두에 대한 배포 대상은 iOS 5입니다. 6 번 시도하고 동일한 결과가 나타납니다. 누구든지이 문제를보고 수정해야합니까? 지금까지 배포 대상인 iOS 7을 만들면 문제가 해결됩니다. 이러한 앱은 계속 실행해야합니다.
iPhone 3GS iOS 6 2017 년 이전 호환 응용 프로그램 찾기
Edgesforextendedlayout ios 6. iOS 11 용 프로젝트를 업데이트 할 때 UINavigationController에서 뷰를 푸시하거나 팝핑 할 때 이상한 전환이 발생합니다. 전체적으로보기 컨트롤러의 "edgesForExtendedLayout"속성이 모두 기본값 "UIRectEdgeAll"로 되돌아가는 것을 확인하는 데 도움이되었습니다. 하지만 너.
우리가 커버 한 모든 지불금은 다양한 거래에서 70 %에서 85 % 사이의 북마크가 나열된 계약서입니다. 이중 옵션을 선택하는 것은 오히려 당신이 도박하는 전체 중개인 다수를 목표로하여 귀하의 출장 중 instawletlet instaforex입니다.
몇 가지 옵션은 2 배의 빠른 비용으로 결과로 움직일 수 없습니다.

가장자리 펼쳐진 가장자리 6
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
iOS7 - 상태 표시 줄에서보기 - edgesForExtendedLayout이 작동하지 않습니다.
작년에 지어진 프로젝트가 있으며 스토리 보드가없는 XIB를 사용합니다. XIB는 자동 레이아웃을 사용하지 않지만 일부 자동 크기 조정을 사용합니다. iOS7에서 실행할 때 모든보기가 상태 표시 줄 아래에있는 문제가 있습니다. 나는 이것이 이것이 예상 될 수있는 iOS7의 새로운 기능이라는 것을 충분히 이해합니다. 그러나이를 수정하지 않는 해결책은 모두 작동하지 않습니다. 항상 상태 표시 줄 아래에 표시되는보기 상단에 이미지가 있으며 nav-bars 또는 이와 유사한 것을 사용하지 않습니다.
XIB (그들은보기에 아무런 영향을주지 않습니다)에서 Y-delta를 업데이트하려고 시도했지만, edgesForExtendedLayout을 UIRectEdgeNone (아무 것도하지 않음)으로 설정하고 다른 많은 것들을 설정하려고했습니다. 때마다 상태 표시 줄의 여유 공간을 허용하기 위해 XIB의보기를 수동으로 이동하지 않는 한 상태 표시 줄에 언제든지 그 아래에있는보기가 표시됩니다 (그러나 그 해결책은 작동하지 않습니다. 물론 iOS6에서는 제대로 보이지 않습니다.)
이상한 점은 view-shift에서 해킹하기 위해 일련의 코드를 사용해도 다음과 같이 작동하지 않는다는 것입니다.
.. 그런 종류의 해결책으로 갈 것이 아니라, 작동하지 않는다는 것이 이상합니다. (자동 레이아웃이있는 경우 작동하지 않는 것이 보통입니다. 이 경우에는 그렇지 않습니다.)
상태 표시 줄에 표시되는 디자인 요구 사항이며 iOS7의 상태 표시 줄 아래에보기를 설정할 수없는 이유가 무엇인지 알지 못합니다. 제목과 Apple의 전환 / 가이드에 대한 모든 Stack Overflow 게시물을 읽었습니다. 다시 한번 강조하면, 그것이 어떻게 작동해야하는지, 그리고 예상되는 해결책이 이것에 있어야한다는 것을 완전히 이해하지만, 이 특정 프로젝트에서는 아무 것도 작동하지 않는 것으로 보인다.
나는 경험 많은 iOS 개발자이지만이 프로젝트는 다른 팀에 의해 만들어 졌기 때문에 XIB 파일, plist 또는 위의 설정을 트럼프 할 수있는 코드에 숨겨진 것이 있는지 모릅니다. 이것에 대해 조사할만한 것이 있거나 제가 제공 할 수있는 더 많은 정보가 있다면 알려주십시오.
미리 감사드립니다!
Interface Builder에서 iOS 6/7 델타 값을 설정하는 경우 Interface Builder 문서에서 "View as"를 "iOS 6"으로 설정해야합니다. 복제하려는 iOS 6 레이아웃이기 때문입니다. 델타는 iOS 7에서만 사용되어 콘텐츠를 상태 표시 줄 아래로 밀어 넣습니다. "보기 모드"를 iOS 7 (기본값)으로 설정하면 델타는 iOS 6에서 iOS 7 모양을 제공합니다.
그러나 델타는 프레임이 델타를 고려하지 않으므로 뷰 프레임을 기반으로 뷰를 프로그램 적으로 재배치하거나 크기를 조정하면 도움이되지 않습니다.
델타를 사용하는 대신 내가 찾은 최선의 해결책은 기본 XIB에서 자동 레이아웃을 활성화 한 다음 상단 / 내용보기에서 상단 레이아웃 가이드를 따르도록 상단 공간 제약 조건을 설정하는 것입니다. 이 가이드는 iOS 7에서 소개되었으며 상태 표시 줄 아래의 위치를 ​​나타냅니다. 안타깝게도 Storyboards를 사용하지 않을 때는 Interface Builder에서이 가이드를 사용할 수 없지만 프로그래밍 방식으로 추가 할 수 있습니다.
내가 한 것은 인터페이스 빌더 대신 superview에 공간 제약 조건을 추가하고 코드에서이를위한 콘센트를 만들었습니다. 그런 다음 viewDidLoad에서 topLayoutGuide를 사용할 수있는 경우 (iOS 7 이상) 대신 상단 레이아웃 가이드를 사용하여이 콘센트의 제약 조건을 버전으로 바꿉니다.
참고로 아래의 솔루션은 ViewController에 적용했을 때 작동했습니다. 그러나, 이상적이지 않고 조금 해킹 된 것입니다. 내가 취할 수있는 유일한 방법이라면 그래도 될 수 있습니다.
애플은 자동 레이아웃을 사용하여 이것을 달성하도록 당신을 밀어 붙이고있다. 보기의 맨 위 하위 뷰에서 "Top Layout Guide"에 대한 제한 조건을 설정해야합니다.
예제는이 문서를 참조하십시오.
XIB없이이 작업을 수행하려면 프로그래밍 방식으로 제약 조건을 추가해야합니다. 애플의 문서는 이것에 대한 좋은 예를 보여 주며, 나는 아래에 요약했다.
TopLayoutGuide는 뷰 컨트롤러의 속성이므로 변수 바인딩 사전에서 사용하면됩니다. 그런 다음 보통과 같이 제약 조건을 설정합니다.
1) 불투명 한 네비게이션 바가 마음에 들지 않는다면 가장 간단한 해결책 :
2) svguerin3의 대답은 일반적인 경우에는 작동하지 않습니다. 예를 들어 하위 뷰 중 하나에서 자동 크기 조정 기능을 사용하여 컨테이너의 맨 아래에 구부려지면 새 위치가 잘못됩니다. 최악의 경우 화면 밖으로 나올 수 있습니다.
XIBs를 소스로보고, edgesforextendedlayout을 포함하는 행을 제거하려고 시도 했습니까 ??
스토리 보드의 장면의 주요 뷰는 XIB로 표시되므로 스토리 보드의 장면에서이 선을 제거해야했습니다.
우리에게 일어났던 일은 어떤 장면에서 장면의 주보기에 대한 XIB 콘텐츠가 상태 표시 줄과 탐색 모음의 높이만큼 아래로 밀리고 있다는 것이 었습니다.
이 줄을 제거하면 XIB가 스토리 보드의 장면의 맨 위에있는 것과 같이 표시 될 수있었습니다.
안타깝게도, 우리는 이것이 무엇을 유발했는지는 알지 못하지만, UITextView가 먼저 나타나도록 XIB의 메인 뷰 내에서 내용의 순서를 변경할 때 발생하는 것을 보았습니다. 이 항목이 트리거 된 후 항목 순서를 다시 정렬하면이 원치 않는 동작을 제거하는 데 아무런 영향을 미치지 않습니다.
희망이 사람이 문제 의이 유형을 실행하는 데 도움이되기를 바랍니다.
스토리 보드를 사용하는 경우보기의 상단 레이아웃을 설정 한 후 특성 검사기에서 "불투명 한 막대"를 선택 취소 할 수 있습니다.

가장자리 펼쳐진 가장자리 6
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
iOS7에서 automatedAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBars, edgesForExtendedLayout의 차이점을 설명합니다.
iOS7 UI 전환에 대해 많이 읽었습니다.
나는이 세 가지 속성을 자동으로 얻을 수 없다 automaticAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBars, edgesForExtendedLayout ??
예를 들어, 보기 컨트롤러를 상태 표시 줄 아래에서 시작하려고하지만이를 수행 할 수 없습니다.
iOS7부터 뷰 컨트롤러는 기본적으로 전체 화면 레이아웃을 사용합니다. 동시에 뷰를 배치하는 방법을보다 효율적으로 제어 할 수 있으며 이러한 속성을 통해 수행 할 수 있습니다.
기본적으로이 속성을 사용하면보기의 어느면을 확장하여 전체 화면을 가릴 수 있는지 설정할 수 있습니다. UIViewController를 UINavigationController로 푸시한다고 가정 해보십시오. 해당 뷰 컨트롤러의 뷰를 배치하면 탐색 막대가 끝나는 위치에서 시작되지만이 속성은 뷰의 어느면 (위쪽, 왼쪽, 아래쪽, 오른쪽)을 전체 화면을 채울 수 있도록 설정할 수 있습니다.
예를 들어 보자.
여기에서는 edgesForExtendedLayout의 값을 설정하지 않으므로 기본값이 사용되므로 (UIRectEdgeAll)보기가 전체 화면을 채우기 위해 레이아웃을 확장합니다.
결과는 다음과 같습니다.
보시다시피 빨간색 배경은 탐색 모음과 상태 표시 줄 뒤에 있습니다.
이제이 값을 UIRectEdgeNone으로 설정하려고합니다. 그러면 뷰 컨트롤러가 화면을 덮도록 뷰를 확장하지 않도록 지시합니다.
이 속성은 UITableView와 같이 UIScrollView 또는 유사 뷰일 때 사용됩니다. 네비게이션 바가 끝나는 곳에서 테이블을 시작하기를 원한다. 왜냐하면 그렇지 않다면 전체 내용을 보지 않을 것이기 때문에 동시에 테이블을 스크롤 할 때 전체 화면을 덮고 싶기 때문이다. 이 경우, edgesForExtendedLayout을 None으로 설정하는 것은 탐색 막대가 끝나는 곳에서 테이블이 스크롤되기 시작하고 그 뒤로 이동하지 않기 때문에 작동하지 않습니다.
뷰 컨트롤러가 인 세트를 자동으로 조정하게하면 (이 프로퍼티를 YES로 설정하고 디폴트 값으로 설정) 인 테이블을 테이블의 맨 위에 추가하여 테이블이 네비게이션이 시작되는 곳에서 시작하도록하면이 속성이 유용합니다. 막대는 끝나지만 스크롤은 전체 화면을 덮을 것입니다.
이것은 NO로 설정된 경우입니다.
그리고 예 (기본값) :
두 경우 모두 표가 탐색 줄 뒤로 스크롤되지만 두 번째 경우 (예)에는 탐색 막대 아래에서 표가 시작됩니다.
이 값은 이전 값에 추가 된 값입니다. 기본적으로이 매개 변수는 NO로 설정됩니다. 상태 표시 줄이 불투명 한 경우 뷰를 확장하여 뷰를 확장하더라도 뷰가 상태 막대를 포함하도록 확장되지 않습니다 (edgesForExtendedLayout to UIRectEdgeAll).
값을 YES로 설정하면보기를 다시 상태 표시 줄 아래로 이동할 수 있습니다.
뭔가 명확하지 않은 경우 의견을 작성하면 답변을 드리겠습니다.
iOS는 UIScrollView의 용도를 어떻게 알 수 있습니까?
iOS는 ViewController의 뷰에서 첫 번째 서브 뷰를 가져오고, 인덱스 뷰에서는 0을 반환하고 UIScrollView의 하위 클래스이면 설명 된 프로퍼티를 뷰에 적용합니다.
물론 이것은 UITableViewController가 기본적으로 작동한다는 것을 의미합니다 (UITableView가 첫 번째보기이기 때문에).
스토리 보드를 사용하고 있는지 확실하지 않지만, 그렇다면보기 컨트롤러가 상태 표시 줄 아래 (그리고 하단 막대 위로)에서 시작되도록하십시오.
IB에서보기 컨트롤러를 선택합니다. 속성 속성에서 '가장자리 확장 - 위쪽 막대 아래'및 '가장자리 확장 - 아래쪽 막대'를 선택 해제하십시오.
내가 storyboards를 사용하고 위의 조언을 사용하지만 난 정확히 어떻게 그것을 구현하는 방법을 잘 모르겠습니다. 다음은 권장 솔루션을 ViewController에 넣음으로써 문제를 어떻게 해결했는지에 대한 간단한 예입니다.
내 문제 : 기본적으로 Auto Adjust를 true로 설정하면 스토리 보드 디자인과 시뮬레이터간에 차이가 발생합니다.
해결됨 : 위의 코드가 적용되어 자동 조정이 사용 중지되었습니다.
이 줄을 추가하여이 문제를 해결했지만 내 문제는 UIScrollView가 아닌 ​​UIView와 관련이 있습니다.
autoAdjustsScrollViewInsets 속성은 일종의 스크롤 뷰 (테이블 뷰, 컬렉션 뷰)가있는 경우에만 작동한다는 점에 유의하십시오.
VC 뷰 또는이 뷰의 첫 번째 하위 뷰입니다.
다른 방법은 첫 번째 하위 뷰인 경우에도 작동하지만 뷰 계층 구조에 다른 스크롤 뷰가 있다고 제안합니다.
EDIT (확장 DIY)
이러한 조건을 충족 할 수없는 경우 (예 : 스크롤보기 아래에 배경 이미지가있는 경우)에도 유사한 동작이 필요한 경우 수동으로 스크롤보기 인세 트를 조정할 수 있습니다. 하지만 44 또는 64 또는 20과 같이 상수로 설정하지 마세요. 당신은 이제까지 크기를 알 수 없습니다. incall / gps / audio 알림이있을 수 있으며 탐색 표시 줄은 항상 44pt가 될 필요는 없습니다.
최선의 해결책은 didLayoutSubviews에서 layoutGuide 길이를 사용하는 것입니다.
동일한 방법으로 bottomLayoutGuide를 사용할 수 있습니다.

Comments

Popular Posts