저는 iOS 개발에 익숙합니다. 자연스럽게 스택보기 및 Xcode의 자동 레이아웃 제약 사항에 문제가 있습니다. 원래 제약 조건과 핀 메뉴를 사용하여 모든 것을 정렬했지만 실제로 스택 뷰를 얻으 려하므로 다시 돌아가서 구현했습니다.자동 레이아웃 및 스택 뷰를 자동으로 조정할 수 없습니다 (Swift 3, Xcode 8)
당신은 당신이 내 응용 프로그램에서 나는 스택 뷰의 몇 만든 것을 볼 수 있습니다 위의 내 이미지를 보면 :
- 상태 표시 줄 수직 스택
- 제 1 절 수직 스택을
- 첫 번째 구분선 (높이가 0.5이고 스택 내부에없는보기)
- 섹션 2에는 주 내부에 2 개의 수평 스택이 있습니다 수직 스택보기
- 2 분할
- 3 절 (단지 제 2 조 & 세 사이의 1 분할로 정확히 같은 일이) 수직 스택 및 주요 수직 스택
의 내부 수평 스택 그리고이 모든 것을 포함 스택과 2 개의 분배기는 사용자 인터페이스라는 1 개의 슈퍼 수직 스택에 함께 그룹화됩니다.
제 문제 중 하나는 제 스택과 디바이더 사이에 상하 제약을 설정할 수 없다는 것입니다. 그대로, 섹션과 구분선 사이에 내 마음에 드는 공간이 너무 많습니다. 이미지 1을 보면 섹션 1과 상태 표시 줄 사이에 15라는 상위 제한 조건을 설정하려고했습니다. 또한 제 1 제수와 제 1 구간 사이에 15의 상위 제약 조건을 설정하려고했습니다. 상충되는 제약이 생겨서 그 이유를 알 수 없습니다. 그들이 말하는 모두는 Section1.top = Status Bar.bottom + 15
, 1st Divider.top = Section1.bottom + 15
등입니다. 충돌을 해결하는 방법에 대한 아이디어가 있습니까? 나는 디바이더를 움직이려 할 때마다 원래 위치에 다시 스냅하고 제약 번호를 조정하면 같은 오류가 발생합니다.
내 두 번째 문제는 사용자 인터페이스가 슈퍼보기 내부에 들어 가지 못한다는 것입니다. 내 애플 리케이션이 모든 아이폰 화면 크기에 맞게 자동으로 그에 맞게 조정하고 싶습니다. 내가 뭘했는지 핀 메뉴를 사용하여 내 사용자 인터페이스 스택의 각 측면을 제한 0 (한계에 대한 제한을 선택하지 않음)으로 고정하는 것입니다. 사용자 인터페이스 정렬 및 이미지 이것은 높이와 내 라벨의 수직 위치의 일부가 모호 말하는 오류의 몇 결과 2에서와 같이 충돌하지만 내 스택의 모든없이 찌그러 얻을 :
- 화면을 아래로 이동으로
Height and vertical position are ambiguous for "Tip Percent Segment Control".
Height and vertical position are ambiguous for "Bill Amount Text Field".
Height is ambiguous for "BILL AMOUNT".
더 라벨이 찌그러되고있다으로 더 오류가 크기. 그리고 각 레이블에 대해 개별적으로 상단 및 하단 제약 조건을 설정했습니다. 각 라벨에 대해 높이를 구현하더라도 오류 메시지는 사라지지만 모든 라벨이 스택에 표시되지는 않습니다. 나는 Alignment and Distribution 메뉴를 골라 내 스택에 대해 다른 것들을 선택하려고 시도했지만 아무도 그 문제를 해결하지 못하는 것 같습니다. 도움을 주시면 큰 도움이 될 것입니다. Xcode 8 베타 4를 사용하고 Swift 3.0에서이 응용 프로그램을 작성했습니다.
이것은 말 그대로 현대 iOS 개발자가해야 할 일의 반대 의견입니다. 설계 도구는 이유가 있기 때문에이를 활용하고 최신 사례를 채택 할 수 있습니다. 모든 것을 수동으로 수행하는 것은 Xcode와 디자인 생태계 전반에 걸친 반 (反) 연습이었습니다. 도구를 배우고 규칙에 의해서가 아니라 예외에 의한 코드로 이동하십시오. – Marchy
사실 @Marchy 2 년 전 (인터페이스 빌더를 사용하기 전에) "손으로 직접 만든"뷰를 사용하여 작업 한 적이 있습니다. 응용 프로그램에서 유연성, 확장 성 및 제어 기능을 사용하면 " 손으로 "(저주를 잘한다)는 IB를 사용하면 쉽게 달성 할 수 없습니다. 이 도구는 사용하고 싶다면 거기에 있습니다! 어떤 경우에는 작업을 더 쉽게하고 다른 작업자에게는 실제로 복잡하게 만듭니다! 그리고 사과가 그것을 개발했기 때문에 그것을 사용하면 안된다고 생각하지 마십시오 ... 모두는 연공 서열, 프로젝트 및 필요에 따라 달라질 수 있습니다. 단지 일할 수있는 방법이 하나도 없습니다. – BrunoX
Xcode Interface Builder는 초보자를위한 iOS 개발에 낮은 수준으로 만 생성되었습니다. 개발자가 잠시 후에 IB를 고수하면 그 사람의 레벨이됩니다. 코드에서와 같이이 정도의 유연성과 유지 보수를받지 못합니다. – Eugene