2012-01-11 5 views
0

IB를 사용하여 Xcode 4에 UITableViewCell을 만들었습니다. 그러나 편집 버튼을 트리거 할 때 이상한 이유로 cell은 정말 이상하게 작동하고 일반적인 표보기 셀과 같은 애니메이션을 가지고 있지 않습니다. 무슨 일이 일어나고 있는지 모르겠다. 내 맞춤형 셀 클래스에 -(void)setEditing:(BOOL)editing animated:(BOOL)animated을 구현하려고 시도했지만 여전히 아무것도 작동하지 않는다.사용자 정의 셀을 편집 할 때 이상한 애니메이션이 있습니까?

업데이트 : 내 내가 셀을 사용하고 ViewController, 셀을 표시 cellForAtIndex에서이 코드가 있습니다.

CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if(cell == nil) 
    { 
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil]; 
    for (id currentObject in topLevelObjects) 
    { 
     if ([currentObject isKindOfClass:[UITableViewCell class]]) 
     { 
      cell = (CustomCell *) currentObject; 
      break; 
     } 
     return cell; 
    } 
} 

기본보기 :

The normal view

때 도청 편집 버튼 :

enter image description here

edit

그리고 심지어 때이 옆으로 이동하기로했다 텍스트를 포함 강타 :

enter image description here

답변

2

먼저 제안; 맞춤 UITableViewCell에 IB를 사용하지 마십시오.

다음으로; 셀 자체가 아닌 UITableViewCellcontentView ...에 사용자 정의보기를 추가하고 있는지 확인하십시오. 편집 부분이 표시되면 (삭제 버튼과 같이) UITableViewCell의 contentView가 자동으로 축소됩니다. UILabel/contentView에 추가 한 항목에 올바른 UIViewAutoresizing 마스크가있는 경우 정확하게 크기가 조정되거나 이동됩니다.

편집, 의견에 귀하의 질문에 대답하기 :

같은 방법으로 당신이하고자 사용자 정의보기를. 당신은 자신의 수업을 만들 수도 있고, 필요에 따라 그것을 특별 수업으로 구성 할 수도 있습니다. 일반적으로 셀에 추가 한 임의의 사용자 지정 항목을 참조하고 셀/등을 다시 사용할 수 있도록 클래스가 가장 좋습니다.

그러나 여기에 하나의 ad-hoc을 구성하는 예제가 있습니다.

UIImageView * myCheckBox = ... 
UILabel * myLabel = ... 
UITableViewCell * cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; 
[cell.contentView addSubview:myCheckBox]; 
[cell.contentView addSubview:myLabel]; 
self.customCell = cell; 

편집 # 2

- (void)layoutSubviews 
{ 
    [super layoutSubviews]; 
    self.textLabel.frame = CGRectMake(50, self.textLabel.frame.origin.y, self.contentView.frame.size.width - 50, self.textLabel.frame.size.height); 
} 
+0

업데이트 된 질문은 더 문제를 설명합니다. – Souljacker

+0

@ Ravin455 - 문제를 완전히 이해합니다. 나 거기 가봤 어. 더 이상 설명 할 필요가 없습니다. – Steve

+0

프로그래밍 방식으로 추가해야하는 경우 어떻게 추가해야합니까? 내 유일한 문제는 왼쪽에 확인란 UIButton을 추가하는 것입니다. – Souljacker

관련 문제