view.bottom에 가장 가까운 이웃은 superview.Bottom.Margin (또는 셀의 내용보기) 인 셀의보기에 대해 12입니다. view.bottom에 제약 조건 8을 요청하고 있습니다. 또한 이러한 제약 조건을 만족시키기 위해 인터페이스 빌더는보기의 높이 (예 : 파란색)를 변경해야합니다. 보기의 높이를 50으로 제한하는 제한이 있기 때문에 물론이 작업을 수행 할 수 없습니다.
숫자가 합쳐 지도록 수정하여 테이블보기 셀의 높이를 기본값 대신 80으로 변경하십시오 84. 그러나 테이블 셀의 높이를 동적으로 변경하려는 경우 더 많은 제약 조건이 발생할 수 있습니다.
또는 "수직 공간 - (8) - 속성보기 -보기"의 상수를 상수 12로 변경하십시오. 그러면 "수직 공간 - (12) - 개념보기 -보기"가됩니다. 다시 표 셀의 높이를 동적으로 변경하면 문제가 발생합니다.
보기를 표 셀의 중앙에 배치 하시겠습니까? 케이스가 그렇다면 두 개의 수직 구속 조건을 제거하고 중심 y 정렬 구속 조건을 추가하십시오. 그런 다음 셀의 높이를 변경하면 뷰는 맨 위 및 맨 아래 구속 조건을 계산하여 세로로 중심을 맞 춥니 다.
#import "testLayoutControllerTableViewController.h"
@interface testLayoutControllerTableViewController()
@property (weak, nonatomic) IBOutlet UITableView *thetable;
@end
@implementation testLayoutControllerTableViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 10;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellid"];
return cell;
}
@end
내가 인터페이스 빌더 설치의 이미지를 게시 할 것입니다 그리고 그것은 시뮬레이터에서 어떻게 보이는지하지만 난 충분히 명성을 가지고 있지 않습니다
다음은 내가 만든 예제 프로젝트입니다.
UITableViewCell의 높이가 63이 아닌 경우 세 가지 제약 조건이 충돌합니다. 당신이 언급 한 "셀 동적 크기"그래서 하위 뷰 높이가 변수가 있어야합니다 같아요. 이 경우 높이 (50) 제약 조건을 시도하고 제거 할 수 있습니다. –
명시 적으로 UITableViewCell 높이를 설정하고 싶지 않습니다. 나는 autolayout UITableViewCell의 하위 뷰의 높이에서이 값을 결정하고 싶습니다. – MichalMoskala
알겠습니다. 스토리 보드에 표시되는 충돌은 '표보기 셀'- 높이의 설정 일 수 있습니다. 위에서 말했듯이 그것은 63이어야합니다 ("구분 기호"가 "없음"으로 설정된 경우) 그렇지 않으면 올바른 값은 64입니다. –