Как перейти от одного вида к другому виду

#iphone #ios4 #navigation #uibutton #subview

#iPhone #ios4 #навигация #uibutton #вложенный вид

Вопрос:

Я использовал действие кнопки, чтобы открыть дополнительный вид, приведенный ниже код;

 - (IBAction)pickerUpBtn:(id)sender {

    PickerPopUpController *screen = [[PickerPopUpController alloc]initWithNibName:@"PickerPopUpController" bundle:Nil];
    [self.view addSubview:screen.view];
    [self presentModalViewController:screen animated:YES];
}
  

после мне нужно перейти к предыдущему окну; Поэтому я использовал для этого другое действие кнопки и добавил приведенный ниже код внутри действия

 PickerViewController *screen = [[PickerViewController alloc]initWithNibName:@"PickerViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:screen animated:YES];
  

Но он не переходит к предыдущему представлению. Как я мог это сделать??

Ответ №1:

чтобы вернуться назад, выполните

 [self dismissModalViewControllerAnimated:YES]
  

Комментарии:

1. Спасибо за вашу помощь. Не могли бы вы, пожалуйста, описать, что с этим происходит. Я имею в виду «dismissModalViewControllerAnimated».

2. пожалуйста, ознакомьтесь developer.apple.com/library/ios/documentation/uikit/reference /… :

3. когда я перехожу к предыдущему представлению, как я могу передать одно из текстовых значений другому. У меня есть некоторое тестовое значение для моего второго представления. когда я переключился на второй вид. мне нужно напечатать это текстовое значение для обозначения. как я могу это сделать??

Ответ №2:

Вам нужно поместить только этот единственный код в действие кнопки..Нет необходимости создавать объект parentViewController.

ie,

 -(IBAction)btnaction:(id)sender{

[self dismissModalViewControllerAnimated:YES];

}
  

Комментарии:

1. Спасибо. Это работает. когда я перехожу к предыдущему представлению, как я могу передать одно из текстовых значений другому. У меня есть некоторое тестовое значение для моего второго представления. когда я переключился на предыдущий вид, мне нужно напечатать это текстовое значение для обозначения. как я могу это сделать??

2. как?? после того, как я вернусь к своему предыдущему представлению, мне нужно напечатать значение в lable. Я могу распечатать это на ярлыке … afterSelectView.category.text = label.text; но мне нужно напечатать это значение в моем первом представлении. (Я получаю это значение из второго представления и мне нужно распечатать в первом представлении.) как я мог это сделать?

3. Вы можете использовать NSUserDefaults следующим образом, например:NSString *savedText=textLabel.text;[[NSUserDefaults standardUserDefaults]setObject:savedText forKey:@»sometext»]; а затем извлечь его в parentView следующим образом: NSString * retrievedText=[[NSUserDefaults standardUserDefaults]objectForKey:@»sometext»]; Вы можете получить значение, сохраненное в предыдущем просмотреть в «Извлеченном тексте».

Ответ №3:

Вам нужно добавить cancel и done для вашего ViewController, который присутствует модельно, чтобы вернуться к родительскому контроллеру представления.

После внедрения Cancel кнопки вам необходимо отключить ваш viewcontroller в функции действия Cancel button, используя dismissModalViewControllerAnimated функцию

 [self dismissModalViewControllerAnimated:YES];
  

Комментарии:

1. Спасибо тебе, Джалия. когда я перехожу к предыдущему представлению, как я могу передать одно из текстовых значений другому. У меня есть некоторое тестовое значение для моего второго представления. когда я переключился на второй вид. мне нужно напечатать это текстовое значение для обозначения. как я могу это сделать??

Ответ №4:

Для контроллера push view вы можете сделать, как показано ниже,

  PickerViewController *screen = [[PickerViewController alloc]initWithNibName:@"PickerViewController" bundle:[NSBundle mainBundle]];

 [self.navigationController pushViewController:screen animated:YES];
  

Затем, чтобы вернуться назад, вам нужно добавить одну кнопку в контроллер просмотра «Экран», и для события щелчка вы должны написать приведенный ниже код,

  [self.navigationController popViewControllerAnimated:YES];
  

Надеюсь, это было бы полезно.

Дайте мне знать в случае возникновения каких-либо трудностей.


Если вы используете метод «presentmodelviewcontroller», то вам нужно написать строку ниже нажатием кнопки.

  [self dismissModalViewControllerAnimated:YES];
  

Комментарии:

1. Спасибо. когда я перехожу к предыдущему представлению, как я могу передать одно из текстовых значений другому. У меня есть некоторое тестовое значение для моего второго представления. когда я переключился на второй вид. мне нужно напечатать это текстовое значение для обозначения. как я могу это сделать??

2. Вы можете создать один метод, подобный -(void)getTextValue:(NSString *)strStringValue ; Затем вы можете просто вызвать этот метод из первого контроллера представления следующим образом: [screen getTextValue:@»Your text»]; Таким образом, вы получите значение для следующего контроллера.