2016-11-04 4 views
0

현재 xcode에서 스토리 보드를 사용하여 아래 레이아웃을 제안합니다. 전체 화면은 2 개의 다른 프로토 타입 셀이있는 tableView입니다. 사용 가능한 데이터에 따라 2 셀 중 하나가 생성됩니다.UITableView 또는 StackView

두 번째 셀의 경우 Label2와 img2로 tableview를 놓는 것이 가장 좋습니다. 1px 줄 (UIView)이 그려져있는 간단한 스택보기에 넣으려고했지만 장치 화면 크기에 따라 줄이 얇아 지거나 시세 표시됩니다.

TableView는 회선 문제를 해결하지만 단순한 레이아웃의 경우 많은 작업처럼 보입니다. 특히 tableView 내부에 tableView가있을 때 특히 그렇습니다.

여기에가는 방법은 stackview입니까? 어쩌면 내가 장치를 통해 seperator 라인을 다르게 보이게하는 무언가를 놓치고 있을까? 아니면 다른 tableView이 일을 더 일반적인 방식으로 무엇입니까?

view.layer.borderColor = UIColor.black.cgColor 
view.layer.borderWidth = 1 

난 정말 당신의 stackView 어떻게 생겼는지 모르지만 나는 당신이이 솔루션을 적용 할 수 생각 :

enter image description here

+0

참고 : 종종 동일한 화면에서 선이 두껍게 또는 더 얇게 나타납니다. 첫 번째 2 줄과 마찬가지로 괜찮을 것이지만 세 번째 줄은 더 두껍습니다. – tsf144

+0

주 2 : 2px 높이의 선을 더 균일하게 만드는 것 같습니다. 하지만 UI는 2 px 라인으로 나빠 보인다. – tsf144

답변

0

어쩌면 뷰의 계층에서 국경을 사용하여 솔루션을 생각할 수 있습니다 당신의 경우 :)

+0

그래, 나는 라인에 일정한 높이 1 px를 주었다. 심지어 세포에 30px의 일정한 높이를 주었지만 도움이되지는 않습니다. 나는 자동 레이아웃이 셀 내용의 불일치를 채우려한다고 생각하지만, 왜 고정 된 1px 높이의 라인이 다른지 알 수 없다. – tsf144

0

흠, 아주 신참 실수. 시뮬레이터 일뿐입니다. 실제 장치에서 사용할 때 괜찮습니다. 시뮬레이터에서 줌을 100 %로 설정해야합니다. (cmd + 1/2/3) 그렇지 않으면 이와 같이가는 선이 매우 다르게 나타납니다.

선택한 방법은 각 셀 사이에 1px UIView가있는 stackview를 사용했습니다. 간단한 레이아웃을 위해 데이터를 채우는 것이 훨씬 쉽습니다.