【问题标题】:How to Navigate one view to other view如何将一个视图导航到另一个视图
【发布时间】:2011-06-06 10:40:18
【问题描述】:

我使用按钮操作来弹出子视图并在下面的代码中唱歌;

- (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];

但它不会导航到上一个视图。我该怎么办??

【问题讨论】:

    标签: iphone ios4 navigation uibutton subview


    【解决方案1】:

    返回, 做

    [self dismissModalViewControllerAnimated:YES]
    

    【讨论】:

    • 感谢您的帮助。你能描述一下发生了什么吗?我的意思是“dismissModalViewControllerAnimated”。
    • 当我导航到上一个视图时,如何将其中一个文本值传递给另一个。我对我的第二种观点有一些测试价值。当我切换到第二个视图时。我需要在该文本值上打印以进行标记。我该怎么做??
    【解决方案2】:

    您只需要在 Button 操作中放入该单个代码。无需制作 parentViewController 的对象。

    即,

    -(IBAction)btnaction:(id)sender{
    
    [self dismissModalViewControllerAnimated:YES];
    
    }
    

    【讨论】:

    • 谢谢。这是工作。当我导航到上一个视图时,如何将一个文本值传递给另一个。我对我的第二种观点有一些测试价值。当我切换到上一个视图时,我需要在该文本值上打印标签。我该怎么做??
    • 怎么样??在我回到以前的视图之后,我需要打印一个值来标记。我可以在标签上打印... afterSelectView.category.text = label.text;但我需要在我的第一个视图上打印该值。 (我从第二个视图获得该值并且需要在第一个视图上打印。)我该怎么做?
    • 您可以使用 NsuserDefaults 如下,例如:NSString *savedText=textLabel.text;[[NSUserDefaults standardUserDefaults]setObject:savedText forKey:@"sometext"];然后在 parentView 中检索它,如下所示: NSString *retrievedText=[[NSUserDefaults standardUserDefaults]objectForKey:@"sometext"];您可以在“retrivedText”中获取您在上一个视图中存储的值。
    【解决方案3】:

    您需要为您的 ViewController 添加 canceldone 以返回父视图控制器。

    实现Cancel按钮后,您必须使用dismissModalViewControllerAnimated函数在Cancel按钮的action函数中关闭视图控制器

    [self dismissModalViewControllerAnimated:YES];
    

    【讨论】:

    • 谢谢贾利亚。当我导航到上一个视图时,如何将一个文本值传递给另一个。我对我的第二种观点有一些测试价值。当我切换到第二个视图时。我需要在该文本值上打印以进行标记。我该怎么做??
    【解决方案4】:

    对于推送视图控制器,您可以执行以下操作,

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

    然后要返回,你必须在“屏幕”视图控制器中添加一个按钮,它是点击事件,你必须在下面编写代码,

     [self.navigationController popViewControllerAnimated:YES];
    

    希望对您有所帮助。

    如有任何困难,请告诉我。


    如果您使用的是“presentmodelviewcontroller”方法,那么您必须在按钮单击中写下一行。

     [self dismissModalViewControllerAnimated:YES];
    

    【讨论】:

    • 谢谢。当我导航到上一个视图时,如何将其中一个文本值传递给另一个。我对我的第二种观点有一些测试价值。当我切换到第二个视图时。我需要在该文本值上打印以进行标记。我该怎么做??
    • 您可以创建一种方法,例如 -(void)getTextValue:(NSString *)strStringValue;然后你可以通过这种方式简单地从第一个视图控制器调用该方法: [screen getTextValue:@"Your text"];因此,您将获得下一个控制器的值。
    猜你喜欢
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 2021-05-17
    相关资源
    最近更新 更多