2011-04-20 2 views
1

내 밴드와 노래 이름을 문자열로 표시하는보기에 두 개의 UILabels가 있습니다. 나는 또한이 문자열 중 하나를 수동으로 변경하는 옵션을 추가하는 중입니다. 나는 그대로 유지하고 노래 이름이나 밴드 이름을 수동으로 입력하기 위해 2 개의 버튼을 추가했습니다. 사실, 모든 텍스트 편집은 키보드를 가져 오기 위해 실제 TextField 또는 TextView가 있어야한다는 것을 이해하는 것입니다.텍스트 항목 ios 질문

"노래 이름 입력"을위한 버튼을 터치하고 키보드를 지정하기 만하면됩니다. Enter 키를 누르면 uilabel의 문자열이 해당 문자열로 바뀌고 Enter는 밴드 이름 uibutton을 입력하고 uilabel을 다시 변경합니다.

문제는 문서에 있습니다.이 작업을 수행하는 방법을 실제로 알지 못합니다. 누구든지 이오스에서 텍스트 입력에 대한 생각을 가지고 있고 이것을 수행하는 방법에 대한 포인터/팁을 줄 수 있습니까?

답변

1

사용자가해야 할 일은 레이블을 텍스트 필드로 바꾸고 사용자가 버튼을 누르면 첫 번째 응답자로 설정하는 것입니다. textFieldShouldReturn 메서드에서 enter를 처리하여 텍스트 필드의 첫 번째 응답자를 종료하고 (키보드를 닫을 때) 텍스트 필드를 레이블보기로 다시 변경하고 해당 내용을 업데이트 할 수 있도록 텍스트 필드의 대리자 인 클래스가 필요합니다.

3

그냥 라벨 글로벌을 선언하고 모든 노래와 배열 의 모든 앨범 데이터를 가지고 구현 방법에 구현하고

  • (무효)의 위임 방법을 사용하여 현재 테이블보기 에있는 모든 데이터를 표시 있는 tableView : (jQuery과 *)있는 tableView didSelectRowAtIndexPath : (NSIndexPath *) indexPath이 유 원하는 라벨의 텍스트를 변경
@interface songViewController() 
{ 
UILabel *bandLabel; 
UILabel *songLabel; 
NSArray *bandData; 
NSArray *songData; 
} 
@end 
@implementation songCreateViewController 
- (void)viewDidLoad { 
    [super viewDidLoad]; 
{ 
    bandLabel=[[UILabel alloc]init]; 
    bandLabel.frame=CGRectMake(40, 580, 500, 30); 
    [email protected]"Join group as"; 
    [self.view addSubview:bandLabel]; 

    songLabel=[[UILabel alloc]init]; 
    songLabel.frame=CGRectMake(40, 580, 500, 30); 
    [email protected]"Join group as"; 
    [self.view addSubview:songLabel]; 
} 
    #pragma mark Table view Delegate 
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if(tableView==albumTableView) 
    { 
     bandLabel.text=[bandData objectAtIndex:indexPath.row]; 
    } 
    else 
     if(tableView==songTableView) 
    { 
     songLabel.text=[songData objectAtIndex:indexPath.row]; 
    } 
@end 
+0

질문은 옳지 않습니다. 행 이름에 따라 레이블을 변경하려는 경우 도움이됩니다. –

1

그것은 여러 가지 방법에 의해 달성 될 수있다 ..

1) 라벨을 숨기고 텍스트 뷰를 표시하도록 버튼 방법에 숨겨진를 사용할 수 있습니다.

2) 레이블 대신 textField를 사용하고 textfield.editable = NO로 만들고 버튼을 누르면 텍스트 필드를 textfield.text = nil으로 지우고 텍스트 필드를 편집 할 수 있습니다.

다음을 시도해보십시오.