2011-02-06 2 views
0

심미적 인 이유로 세그먼트 화 된 컨트롤에 통화 기호를 표시하고 있지만 통화 코드를 3 자로 반환하고 싶습니다. 내가 이런 짓을하는 방법을 참조하십시오SegmentedControl 개체의 선택된 항목의 값을 가져옵니다.

NSArray *itemArray = [NSArray arrayWithObjects: @"EUR", @"USD", @"GBP", nil]; 
self.writePriceCurrency = [[UISegmentedControl alloc] initWithItems:itemArray]; 

[self.writePriceCurrency setTitle:@"€" forSegmentAtIndex:0]; 
[self.writePriceCurrency setTitle:@"$" forSegmentAtIndex:1]; 
[self.writePriceCurrency setTitle:@"£" forSegmentAtIndex:2]; 

내가 알고 내가 할 수 단지 가치의 변화를 잡아 인덱스에 따라 올바른 코드를 반환하지만 하드 코딩 될 기능에 switch() {}. 앞으로 직접 세그먼트 컨트롤을 동적으로 변경할 수 있도록이 작업을 직접 수행하는 것이 좋습니다.

선택한 세그먼트에 해당하는 항목을 얻는 방법을 이해할 수 있습니까?

답변

0

아마도 키가 심볼 일 때 u는 NSDictionary를 초기화 할 수 있고 키를 반복하면서 세그먼트를 초기화 할 수 있습니다.
그러면 [yourNSDictionary objectForKey : key :]를 사용하여 값 변경을 감지하는 함수에서 올바른 통화 코드를 얻을 수 있습니다.

+0

글쎄, NSArray 함께 그 짓을 했어, 잘 작동하지만 우리가 다른 방법이있을 줄 알았는데. 어쨌든 당신의 대답을 받아들입니다. – ceyquem

관련 문제