IB에서 UIView 크기를 조정할 수 없음
아마도 간단한 것이겠지만, 인터페이스 빌더의 xib에서 UIView 크기를 조정할 수 없는 이유를 알 수 없습니다.
xcode로 XIB 보기를 새로 만들었고, size inspector에서는 가로와 세로가 비활성화되고 460에 의해 320으로 회색으로 표시됩니다.다른 두 보기(다른 두 탭 모음 항목과 연결됨)에 대한 크기를 변경할 수 있기 때문에 이상합니다.
이것과 관련이 있는지는 모르겠지만 최근에 sdk를 3으로 업데이트했습니다.
감사합니다!
XCode 4.6.3/5.0.2에서 이를 달성하려면 아래 스크린샷을 따라야 합니다.
- '파일 검사기'에서 -> 눈금을 untick
Use Auto Layout
- 특성 선택기를 클릭하고 선택합니다.
Freeform
사이즈용
표에 대한 헤더 보기를 작성할 때 필요합니다. 보기
인터페이스 빌더의 상태 표시줄과 같은 사용자 인터페이스 요소를 시뮬레이션하는 동안에는 크기를 편집할 수 없다고 생각합니다.시뮬레이션된 요소가 활성화된 경우 이 요소를 해제할 수 있습니다.이유를 정확히 알 수 없기 때문에 이유를 정확히 알고 있는 사람이라면 누구나 좋은 이유가 있을 것입니다.
찾으려는 부품은 첫 번째 검사자 패널(명령-1)에 있습니다.오른쪽 상단에는 모의 실행 사용자 인터페이스 요소라는 섹션이 있습니다.상태 표시줄은 기본적으로 켜져 있습니다.세 개 모두 없음으로 설정해야 합니다.
Xcode 4.2, iOS 5.0.1에서와 같이 기본 시뮬레이션 메트릭에는 UIViewControllers의 'size' 특성을 'Inferred'로 시뮬레이션하는 기능이 포함됩니다.
이 속성을 'Freeform'으로 변경하면 UIView 컨트롤러에 포함된 UIView의 크기를 조정하는 동시에 상태 표시줄(또는 해당 문제에 대한 다른 시뮬레이션)을 시뮬레이션할 수 있습니다.
검사자로 이동하고 첫 번째 패널로 이동한 다음(또는 명령-1을 누릅니다) "모의 사용자 인터페이스 요소" 섹션에서 상태 표시줄, 상단 표시줄 및 하단 표시줄이 표시된 필드를 없음으로 변경합니다.작은 삼각형을 클릭하여 표시해야 할 수도 있습니다.
저도 비슷한 문제가 있다는 게 웃기네요.xib 파일에서 모든 뷰를 제거하고 뷰를 다시 추가했습니다.상태 표시줄을 "지정되지 않음"으로 설정하여 상태 표시줄이 수용되지 않도록 합니다.뷰가 추가되면 예상했던 대로 (0,0,320,440)이 아닌 x=0, y=0, w=320h=460으로 생성됩니다.높이를 480으로 변경하여 파일 소유자에게 연결하고 배경과 관련하여 구별되도록 색상을 변경한 후.화면 상단과 보기 사이에 흰색 띠가 있다는 것을 발견했습니다.다음을 통해 코드를 확장했습니다.
#define ROTLOG(rect)(NSLog(@" #rect @" x:%fy:%f w:%f:%f", rect.origin.x, rect.origin.y, rect.size.폭, rect.size.height );
뷰 내 DidLoad
(void)DidLoad { 보기[superviewDidLoad];RCTLOG(self.view.frame); }
IB에서 로드된 상태의 뷰는 실제로 (0, 20, 320, 480)입니다. 주변 작업으로 self.view.frame = CGRectMake(0, 0, 320, 480)로 뷰 프레임을 재설정했습니다.
IB 3.2.5를 사용하고 있습니다.
이것에 대한 약간의 해결책을 알고 싶습니다.
xib 파일을 만들 때 자동으로 생성되는 UIView는 크기 조정 패널이나 가장자리 핸들에서 크기를 조정할 수 없습니다.
제가 한 일은 다른 UIView를 추가하고 이전 UIView의 모든 것을 새 UIView로 끌어다 놓은 다음 이전 UIView를 삭제한 것뿐입니다.
그것은 저에게 문제를 해결했지만, 네, 애플이 해결해야 할 인터페이스 빌더에 근본적인 문제가 있다고 생각합니다(제가 틀렸다면 누군가 수정해주세요).
저는 XCode 4 통합 인터페이스 빌더를 사용하고 있습니다.
제가 다른 방법으로 정리해 봤는데요
좋아하는 텍스트 편집기로 xib를 열고 이 줄을 편집합니다.
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CompassViewController">
CompassViewController
닙/xib를 연결하려는 클래스 이름입니다.
올바른 클래스 이름으로 클래스 이름을 편집하기만 하면 완료됩니다 ;)
스토리보드에서 UIVIew를 선택하고 속성 검사자로 이동하여 UIVIew 크기를 "Inferred"가 아닌 "FreeForm"으로 변경합니다.
Xcode 13에서
스토리보드 -> 속성 검사기 -> 크기 -> 자유형
언급URL : https://stackoverflow.com/questions/1087676/cant-resize-uiview-in-ib
'programing' 카테고리의 다른 글
C 확장:C 확장:연산자들연산자들 (0) | 2023.08.07 |
---|---|
.asar 파일의 압축을 푸는 방법은? (0) | 2023.08.07 |
여러 번 반복되는 SQL CTE 재귀 (0) | 2023.08.07 |
에서 Oracle 쿼리가 느리거나 실패합니다.SQL Developer에서 제공하는 NET 앱은 빠름 (0) | 2023.08.07 |
코드 매개 변수를 실행하기 전에 페이지가 로드될 때까지 기다릴 사용자 스크립트? (0) | 2023.08.07 |