[iphone] 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에서와 같이 기본 시뮬레이션 메트릭에는 UIViewControllers의 ‘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 통합 인터페이스 빌더를 사용하고 있습니다.