2013-05-27 2 views
0

나는 테이블 뷰의 액세서리로 스위치를 사용하려는 ios 앱을 만들고 있습니다. 액세서리로 UISwitch를 사용하는 방법에 대한 다음 샘플을 발견했습니다 : http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/ManageSelections/ManageSelections.html ("선택 사항에 응답"섹션 참조).액세서리로 DCRoundSwitch

내가하고 싶은 것은 텍스트를 사용자 정의 할 수 있도록 UISwitch 대신 DCRoundSwitch (https://github.com/domesticcatsoftware/DCRoundSwitch)를 사용하는 것입니다. 그러나 샘플 코드에서 제안하는 방식으로 액세서리를 만들면 라운드 손잡이가 생기고 전체 스위치를 얻지 못합니다. 나는 액세서리를 추가 사용하고 코드는 다음과 같습니다

 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *cellIdentifier = @"PersonCell"; 

    MyPerson *person = [self.dataController objectInListAtIndex:indexPath.row]; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    DCRoundSwitch *switchObj = [[DCRoundSwitch alloc] initWithFrame:CGRectMake(1.0, 1.0, 20.0, 20.0)]; 
    switchObj.onText = @"in"; 
    switchObj.offText = @"out"; 

    [switchObj addTarget:self action:@selector(personIn:) forControlEvents:(UIControlEventValueChanged | UIControlEventTouchDragInside)]; 
    cell.accessoryView = switchObj; 

    [[cell textLabel] setText:person.name]; 
    [[cell detailTextLabel] setText:person.label]; 
    return cell; 
} 

내가있는 TableView 액세서리로 DCRoundSwitch 작업을 위해 무엇을 할 수 있는가?

감사합니다.

+0

실제로 액세서리보기에 스위치를 지정하는 코드는 무엇입니까? 'cell.accessoryView = switchObj;' – charleyh

+0

ack와 같이 복사/붙여 넣기 오류가 발생합니다. 그것을 포함하도록 업데이트 된 코드. 다행히도 일관성이 있습니다. 코드를 가지고 놀았습니다. – nojo

답변

0

폭이 좁은 것 같습니다. 너비가 60 또는 70 (스토리 보드에서 UISwitch의 기본 너비는 79)와 같은 것을 사용해보십시오.

+0

흠. 그러면 원이 커지지 만 슬라이더의 나머지 부분은 나타나지 않습니다. 그것이 정상적인 액세서리 (체크 표시,>, 등) 매우 좁은입니다 - 액세서리로 사용하는 것과 관련이 있다면 궁금 하군요 - 그게 슬라이더 부분을 허용하는 경우 액세서리를 넓힐 수 있다면 궁금해. 표시하는. – nojo

+0

@nojo, 나는 왜 그 결과를 보는지 모르겠다. 나는 당신이 가지고있는 것과 거의 동일한 코드를 사용하여 액세서리보기로 사용했고, 65,22 크기로 잘 동작했다. . – rdelmar

+0

65,22가 트릭을했습니다. 감사! – nojo

관련 문제