2010-07-18 3 views
1

UILabel이 포함 된 단일보기가있는 iPhone 응용 프로그램을 개발 중입니다. UILabel은 plist 내에서 다음과 같이 구조화 된 문자열을 표시합니다.UIbutton을 사용하여 plist NSmutable Array에 다음 항목 표시

Root................................................(Array) 
.............Item 0.................................(Dictionary) 
.........................Question...................(String) "question 0" 
.............Item 1.................................(Dictionary) 
.........................Question...................(String) "question 1" 
.............Item 2.................................(Dictionary) 
.........................Question...................(String) "question 2" 

Plist는 NSArray로 정의되며 각 사전 내의 문자열은 상수 키를 사용하여 호출됩니다.

이제 UICutton을 구현하려고 할 때, 눌렀을 때 plist/배열에서 다음 항목을 UILabel로로드합니다.

나는 당신이 UITabelView을 원하는처럼

J

답변

0

이 소리? 사람이 함께 할 수 있습니다. 내가 :(어디 예를 찾을 수 없기 때문에이 작업은 코드에서 어떻게 보이는지 구체적으로 알 필요가 속성 목록에서 각 셀을 하나의 항목으로 설정하는 것입니다.이 경우 필요한 API만이 아니라 샘플 코드에서도 매우 잘 설명되어 있습니다. 예를 들어 테이블보기 제품군은 위대한 하나입니다 찾아 볼 장소

UI의 관점에서 사용 사례를 시도하고 시각화하면 의미가 표시됩니다.

+0

안녕 Jer, 답장을 보내 주셔서 감사합니다. 내가 사용하고자하는보기는 단일 UIlable로 간단한 UIVIew입니다. 단추는 PList 항목을 위 아래로 탐색하고 응답을 표시해야합니다. 테이블 뷰가 아닙니다. 어떤 아이디어? –

+0

물론 그렇게 쉽게 할 수 있습니다. 레이블과 단추 (원하는대로 위치 지정)로 사용자 정의보기를 만든 다음 단추를 누를 때 호출되는 메서드에서 UILabel을 업데이트합니다. 다른 방법으로는 버튼을 없애고 라벨을 탭 이벤트에 응답하는 것입니다. 3.2 또는 4.0 또는 기존 touchesEnded : withEvent : – jer

+0

을 타겟팅하는 경우 UITapGestureRecognizer를 사용할 수 있습니다. 코드에서 어떻게 보이는지 예제가 있습니까? 어디서나 예제를 찾을 수 없습니다. ( j –

0

흠, 이런 일을하는 방법이 있습니다. 지금 어떻게하는지 보여 드리겠습니다.

당신은 이것을 기초로하고 싶을 것입니다. 4 개의 단어에 대해 4 개의 UIButton이 필요하므로 1 개의 단어에 대해 1 개의 버튼을 누릅니다. 나는 아울렛과 액션을 선언함으로써 .h에서 시작할 것이다.

{ 
IBOutlet UIButton *Button1; 
IBOutlet UIButton *Button2; 
IBOutlet UIButton *Button3; 
IBOutlet UIButton *Button4; 
IBOutlet UILabel *Label; 
} 
// and now I'll do 4 actions. 
-(IBAction)Button1Action; 
-(IBAction)Button2Action; 
-(IBAction)Button3Action; 
-(IBAction)Button4Action; 

내 .m에는 앱이 시작된 직후에 실행되는 코드가 있습니다. 그래서 viewDidLoad를 할 수 있습니다. applicationDidFinish를 시작하는 메서드가 머리 꼭대기에서 떨어져 있다는 것을 기억할 수 없기 때문입니다.

-(void)viewDidLoad { 
NSLog(@"Application has launched, hiding buttons 2, 3, and 4."); 
[Button2 setHidden:YES]; 
[Button3 setHidden:YES]; 
[Button4 setHidden:YES]; 
} 

이제 작업을 수행 할 것입니다. Interface Builder에서 4 개의 버튼을 분리하고 버튼을 연결 한 다음 원하는 곳에 첫 번째 버튼을 놓습니다. 그 위에 두 번째 버튼, 세 번째 버튼, 네 번째 버튼 등을 추가 할 수 있습니다.

-(IBAction)Button1Action { 
NSLog(@"Button 1 pressed.); 
[Button2 setHidden:YES]; 
[Button3 setHidden:YES]; 
[Button4 setHidden:YES]; 
[Button1 setHidden:NO]; 
Label.text = @"word number 1"; 
} 

-(IBAction)Button2Action { 
NSLog(@"Button 2 pressed.); 
[Button1 setHidden:YES]; 
[Button3 setHidden:YES]; 
[Button4 setHidden:YES]; 
[Button2 setHidden:NO]; 
Label.text = @"word number 2"; 
} 

-(IBAction)Button3Action { 
NSLog(@"Button 3 pressed.); 
[Button1 setHidden:YES]; 
[Button2 setHidden:YES]; 
[Button4 setHidden:YES]; 
[Button3 setHidden:NO]; 
Label.text = @"word number 3"; 
} 

-(IBAction)Button4Action { 
NSLog(@"Button 4 pressed.); 
[Button1 setHidden:YES]; 
[Button2 setHidden:YES]; 
[Button3 setHidden:YES]; 
[Button4 setHidden:NO]; 
Label.text = @"word number 4"; 
} 

그리고 꽤 많이 있습니다. 저는 제 방식대로하고 싶습니다. 때로는 사람들이하는 일반적인 방식보다 더 길고 때로는 더 짧습니다. 나는 이것이 당신을 돕기를 바랍니다.

+0

일 해줘서 고마워요 .- 제가 plist에서 <4 개 항목 만 사용하려고한다면 이것이 완벽 할 거라고 생각합니다. 문제는 - 일단 버튼을 사용하여 항목을 스캔하는 방법이 있으면이 plist (> 30 개 항목)를 확장 할 계획입니다. –