Ввод текста ios вопрос - PullRequest
       3

Ввод текста ios вопрос

1 голос
/ 21 апреля 2011

У меня есть два UILabel в представлении, которые отображают мою группу и название песни в виде строк.Я также работаю над добавлением опции для изменения любой из этих строк вручную.Я хочу оставить все как есть, и я добавил 2 кнопки, чтобы вручную ввести название песни или название группы.Дело в том, что все редактирование текста, насколько я понимаю, должно иметь фактическое TextField или TextView, чтобы вызвать клавиатуру и т. Д.

Я просто хочу коснуться одной кнопки для «ввода названия песни» и получитьклавиатуру и, когда нажали Enter, замените строку в uilabel на эту строку, то же самое для ввода имени группы uibutton, и снова измените uilabel.

Проблема в документах, которые я не совсем понимаюкак это сделатьКто-нибудь имеет представление о вводе текста в IOS и может дать мне указатель / совет о том, как это сделать?

Ответы [ 3 ]

3 голосов
/ 16 октября 2015

Просто объявите вашу метку Global и внедрите в метод реализации Взять всю песню и все данные альбома в массив и отобразить все данные в табличном представлении Теперь с помощью метода делегата

  • (void) tableView: (UITableView *) 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);
    bandLabel.text=@"Join group as";
    [self.view addSubview:bandLabel];

    songLabel=[[UILabel alloc]init];
    songLabel.frame=CGRectMake(40, 580, 500, 30);
    songLabel.text=@"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
1 голос
/ 20 октября 2015

Это может быть достигнуто многими способами ..

1) вы можете использовать hidden в ваших методах кнопок, чтобы скрыть метку и показать textView.

2) вы можете использовать textField вместо метки, сделать textfield.editable = NO, а когда кнопка нажата, просто очистите текстовое поле с помощью textfield.text = nil и сделайте текстовое поле редактируемым.

Попробуйте это ..

1 голос
/ 21 апреля 2011

Что вам нужно будет сделать, это заменить метку текстовым полем и установить ее в качестве первого респондента, когда пользователь нажимает кнопку. Вам понадобится класс, являющийся делегатом текстового поля, поэтому вы обрабатываете ввод в методе textFieldShouldReturn, чтобы оставить в качестве первого респондента текстовое поле (чтобы закрыть клавиатуру) и изменить текстовое поле обратно на представление метки и обновить его содержимое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...