2011-01-15 2 views
0

셀의 각 행에 레이블을 삽입하려고합니다. 정수 표시. 그리고 사용자가 버튼을 클릭하거나 더하기 또는 빼기 버튼을 클릭하면 수량이 증가하려고합니다. UITableView 셀에 버튼을 삽입 할 수 있으며 값을 변경하는 기능이 있습니다. 하지만 추가 버튼을 클릭하면 마지막 행에 대해서만 값이 변경되고 특정 행에는 변경되지 않습니다.여러 개의 레이블을 포함하고 Iphone, Objective C에서 동일한 값을 변경하십시오.

//

txtQty = [[UILabel alloc] initWithFrame:CGRectMake(233,7,20,20)]; 

txtQty.text = [NSString stringWithFormat:@"%@",[nos objectAtIndex:indexPath.row]]; 

txtQty.tag = count; 

txtQty.textColor =[UIColor whiteColor]; 

txtQty.backgroundColor = [UIColor clearColor]; 

[cell.contentView addSubview:txtQty]; 


//Button Creation 

UIButton *button2 = [[UIButton alloc] initWithFrame:CGRectMake(180,5,30,30)]; 

[button2 addTarget:self action:@selector(subAddSubQty:) forControlEvents:UIControlEventTouchUpInside]; 

[button2 setTag:count]; 

[cell.contentView addSubview:button2]; 

지금이 테이블 3 행은 내가 값이 마지막으로 라벨에 변화를 가져 버튼을 추가하려면 1 행을 클릭 생각되는 일이 무엇인지 각 셀에 레이블을 삽입하려면 코드 즉 3 행째 이고 1 행째가 아님 어떻게 해결합니까 ?? 도와주세요 감사합니다.

답변

1

UITableViewCell에 라벨을 넣으시겠습니까? 텍스트 라벨 속성을 가지고 있습니다 :

cell.textLabel.text = @"SomeText"; 

당신이하고 싶은 것은 그리 어렵지 않습니다. NSMutableArrayint의 전체 인스턴스 변수를 사용합니다. 당신은 tableView:cellForRowAtIndexPath:for loop

array = [[NSMutableArray alloc] init]; 
for (int i = 0; i < someValue; i++) { 
    [array addObject:[NSNumber numberWithInt:someInt]]; 
} 

를 사용하여 배열을 초기화 할 수 있습니다 당신은 사용

cell.textLabel.text = [[array objectAtIndex:[indexPath row]] stringValue]; 

그리고 당신의 버튼 방식에서

당신과 같이 증가 :

-(void)increase:(id)sender { 
    int correctIndex = sender.tag 
    int old = [[array objectAtIndex:correctIndex] intValue]; 
    [array replaceObjectAtIndex:correctIndex withObject:[NSNumber numberWithInt:old + 1]]; 
} 

당신은 사용 correctIndex를 얻을 수 있습니다 태그. 나는 이미 cell.textLabel.text와 텍스트를 추가하는거야 라벨 원인을 추가하려고

button.tag = [indexPath row]; 
+0

: 당신이 tableView:cellForRowAtIndexPath:에서 버튼을 초기화 할 때 당신은 태그를 설정할 수 있습니다. 그 상품명을보고 그 수량을 늘리거나 줄이려고하는 것과 같은 쇼핑 카트를 야기합니다. 이름 옆에 수량을 추가하려고하면 그 줄이 보이지 않거나 텍스트 레이블을 사용하여 정확히 주어진 프레임에 수량을 표시합니다. – user576569

+0

하지만 내가 말한 다른 것들을 사용할 수 있습니까? – fabian789

+0

예 사용하고 있습니다. 내가 태그를 사용하고 있지만 무슨 일이 일어나고 추가 단추를 클릭하면 테이블의 마지막 레이블에서만 값이 증가합니다. 첫 번째 행을 클릭 한 다음 메서드에서 보낸 사람 태그에 대한 수량을 늘리려면 단추를 클릭하면 테이블에 3 행이 있다고 가정합니다. 그러나 label.text = label.text intvalue +1로 쓰면 이름이 각 레이블에 대해 동일하게 유지되기 때문에 행의 마지막 레이블 만 증가합니다 – user576569

관련 문제