2015-02-13 2 views
0

Я новичок в разработке iOS. Я создаю проект, где я хочу показать текст текстового поля контроллера вида на метку ячейки таблицы просмотра другого диспетчера представлений. Может ли кто-нибудь сказать мне только логику, как это сделать?Как показать данные текстового поля метке ячейки таблицы?

ответ

0

Поскольку вы еще не отправили ни одного кода, я попытаюсь объяснить его вам.

Вы должны создать событие для кнопки, и вы можете сделать что-то вроде [self performSegueWithIdentifier:@"yourSegue" sender:self];

Следующей вещи, чтобы создать свойство в вашем новом ViewController, который будет принимать ваши ценности.

После этого в вашем prepareForSegue вы можете сделать NSString *text = [self.textField text];, получить новый VC от segue.destinationViewController; и присвоить вам свою ценность.

Таким образом, в конце концов, вы будете иметь:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if(segue.identifier isEqualToString:@"yourSegue"]) 
    { 
     YourViewController *vc = segue.destinationViewController; 
     vc.accpetValue = [self.yourTextField text]; 
    } 
} 

и в своем действии на кнопку:

- (IBAction)yourButton_pressed:(id)sender 
{ 
    [self performSegueWithIdentifier:@"yourSegue" sender:self]; 
} 

Если у вас есть tableViewController там, и вы хотите присвоить это значение в ячейке на том же экране, на кнопке вы можете получить значение так же, как указано выше, и в вашем cellAtIndexPath вы можете сделать следующее:

if(self.yourTextBox && [self.yourTextBox text] && ![[self.yourTextBox text] isEqualToString:@""]) 
{ 
    cell.textLabel.text = [self.yourTextBox text]; 
} 
else 
{ 
//something else 
} 

И на вашем случае кнопки вы можете сделать

[self.tableView reloadData]; 

Надеется, что это помогает.

+0

Спасибо большое. Все готово. – Tirthendu

0

Если контроллер вида с ячейкой открыт с контроллера вида с текстовым полем, это довольно просто.

Вы можете создать свойство NSString во втором контроллере представления .h, а затем вы можете вызвать его, когда вы откроете его с первого.

SecondViewController * cotroller = [[SecondViewController alloc]init]; 
controller.string = [textField text]; 
[self presentViewController:controller animated:YES completion:^{ 
}] 
Смежные вопросы