program story

IB에서 UIView 크기를 조정할 수 없습니다.

inputbox 2020. 9. 11. 07:57
반응형

IB에서 UIView 크기를 조정할 수 없습니다.


아마도 간단한 것이지만 Interface Builder의 xib에서 UIView 크기를 조정할 수없는 이유를 알 수 없습니다.

xcode와 크기 검사기에서 새로운보기 XIB를 만들었습니다. 너비와 높이가 비활성화되고 320 x 460으로 회색으로 표시됩니다. 다른 두보기의 크기를 변경할 수 있기 때문에 이상합니다 (다른 두 개의 탭 막대와 연결됨). 항목).

이것이 관련이 있는지 확실하지 않지만 최근에 sdk를 3으로 업데이트했습니다.

감사!


Interface Builder의 상태 표시 줄과 같은 사용자 인터페이스 요소를 시뮬레이션하는 동안 크기를 편집 할 수 없다고 생각합니다. 활성화 된 경우 시뮬레이션 된 요소를 해제 할 수 있습니다. 그 이유를 정확히 알지 못하므로 그 이유를 정확히 아는 사람의 피드백에 감사드립니다. 좋은 이유가있을 것입니다.


XCode 4.6.3 / 5.0.2에서이를 달성하려면 아래 스크린 샷을 따라야합니다.

  1. '파일 검사기'에서-> 선택 해제 Use Auto Layout
  2. 속성 선택기를 클릭하고 Freeform크기를 선택하십시오.

tableView에 대한 headerView를 만들 때 필요합니다.

여기에 이미지 설명 입력


찾고있는 부분은 첫 번째 Inspector 패널 (Command-1)에 있습니다. 오른쪽 상단에는 Simulated User Interface Elements라는 레이블이 붙은 섹션이 있습니다. 기본적으로 상태 표시 줄은 켜져 있습니다. 세 가지 모두 없음으로 설정되어 있는지 확인해야합니다.


Xcode 4.2, iOS 5.0.1에서와 같이 기본 시뮬레이션 메트릭에는 UIViewController의 'size'속성을 'Inferred'로 시뮬레이션하는 것이 포함됩니다.

이 속성을 'Freeform'으로 변경하면 상태 표시 줄 (또는 해당 문제에 대한 다른 시뮬레이션)을 시뮬레이션하면서 UIViewController 내에 포함 된 UIView의 크기를 조정할 수 있습니다.


인스펙터로 이동하여 첫 번째 패널로 이동 (또는 command-1 누르기) 한 다음 "시뮬레이션 된 사용자 인터페이스 요소"섹션에서 상태 표시 줄, 상단 표시 줄 및 하단 표시 줄로 표시된 필드를 없음으로 변경하십시오. 작은 삼각형을 클릭해야 볼 수 있습니다.


웃기다 비슷한 문제가 있습니다. xib 파일에서 모든보기를 제거하고보기를 다시 추가했습니다. 상태 표시 줄이 수용되지 않도록 상태 표시 줄을 "지정되지 않음"으로 설정합니다. 뷰가 추가되면 예상했던대로 (0,0,320,480) 대신 x = 0, y = 0, w = 320 h = 460으로 생성됩니다. 높이를 480으로 변경하고 파일 소유자에게 연결하고 배경과 관련하여 색을 변경하여 독특하게 만듭니다. 화면 상단과 뷰 사이에 흰색 띠가 있다는 것을 좋아합니다. 내 코드를 다음과 같이 보강했습니다.

#define RECTLOG (rect) (NSLog (@ ""#rect @ "x : % fy : % fw : % fh : % f", rect.origin.x, rect.origin.y, rect.size.width, rect .size.height));

viewDidLoad 내

-(무효) viewDidLoad {
    [super viewDidLoad];
    RECTLOG (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를 삭제하는 것뿐이었습니다.

그것은 나를 위해 문제를 해결했지만 예, Apple이 해결할 인터페이스 빌더에 근본적인 문제가 있다고 생각합니다 (내가 틀리면 누군가 나를 고쳐줍니다).

XCode 4 통합 인터페이스 빌더를 사용하고 있습니다.


나는 그것을 다른 방식으로 분류했다 ...

좋아하는 텍스트 편집기로 xib를 열고이 줄을 편집하십시오.

        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CompassViewController">

CompassViewController nib / xib를 연결하려는 클래스 이름입니다.

올바른 클래스 이름으로 클래스 이름을 편집하면 완료됩니다.)

참고 URL : https://stackoverflow.com/questions/1087676/cant-resize-uiview-in-ib

반응형