2013-08-19 3 views
0

내 탐색보기가 있고 두 번째보기에 사용자 지정 UITableViewCell이 포함 된 테이블이 포함됩니다.UITableView 삭제 단추가 나타나지 않고 내 라벨이 겹침

나는 내가 가로 방향에서 응용 프로그램을 실행하려고 할 때 (2보기로 이동) 한 후 다음 내가 테이블 뷰에 스크롤을 얻고 세로 모드에서 장치를 회전이 문제

  1. 이 일부.

  2. 가로 세로 방향으로 두 번째보기를 연 다음 장치를 가로로 회전하고 스 와이프하여 삭제 단추를 얻으려고하면 특히 가로 방향으로 작동하지 않습니다.

  3. 삭제 버튼 내 라벨

    내가 사용하고

, 사용자 정의 UITableViewCell, AutoLayout and Storyboards

을 커버 또한 사전에 참조 Link

덕분에 내 프로젝트를 업로드했습니다. !! !!

답변

1

사용자가 설명하는 모든 문제는 잘못된 레이아웃으로 인해 발생합니다. 프로젝트를 다운로드하고 수정했습니다. 내가 한 행동 : 1. 자동 레이아웃 사용 안함. 나는 단순하게하기 위해 그것을했다. 이것은 autolayout으로도 가능하지만,이 경우 없이는 훨씬 간단합니다. 2. 테이블 뷰와 맨 위 레이블에 대한 자동 크기 조정이 수정되었습니다. 3. 테이블 뷰 셀의 라벨 자동 고정 크기가 고정되었습니다. 이렇게하면 삭제 단추 문제가 해결됩니다.

고정 프로젝트 here을 다운로드 할 수 있습니다. 당신이 this answer에 설명 된대로 일부 사용자 지정 코드를 작성해야 자동 레이아웃 사용하려면 :

편집

.

NSDictionary *dict = NSDictionaryOfVariableBindings(myLabel2); 
[cell.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[myLabel2]|" options:0 metrics:nil views:dict]]; 

귀하의 프로젝트 코드를 점검했는데 효과가있었습니다. autolayout 버전 here을 다운로드 할 수 있습니다.

편집 2 : 방금 ​​인터페이스 방향 변경 후 테이블 뷰를 다시로드 할 수 있습니다 회전 문제를 해결하려면 다음

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { 
    [super didRotateFromInterfaceOrientation:fromInterfaceOrientation]; 
    UITableView *tv = (UITableView *)[self.view viewWithTag:200]; 
    [tv reloadData]; 
} 

here 그것을 확인하십시오.

+0

우선, 내 문제를 해결하는 데 시간을 내 주셔서 감사합니다.하지만 autolayout없이 작업을 수행 할 수는 있지만 autolayout이 작동하지 않는 경우 솔루션을 제안 할 수 있다면 확실히 좋을 것입니다. –

+0

@vinaychorpa autolayout으로도 가능합니다. 편집 된 답변을 확인하십시오. – Adam

+0

당신의 대답은 정말 멋졌고 매력처럼 작동했습니다. 덕분에이 도움을받을 수있었습니다. 나는 탐욕 스럽지만 세로 모드에서 tableview를 연 다음 가로로 회전 한 다음 삭제가 작동하지 않고 부사장 인 경우 하나의 문제가 남아 있다는 것을 알고 있습니다. 이 문제를 해결하는 방법을 알고 있습니까? –

관련 문제