gpt4 book ai didi

iphone - IOS - XCode 4 - iPhone 6.0 - 将后退按钮添加到 subview

转载 作者:行者123 更新时间:2023-11-29 03:56:18 26 4
gpt4 key购买 nike

注意:IOS 开发中的 N00b。在过去 10 天左右的时间里,我阅读了一些教程和代码片段,并收集了足够多的危险信息。我想要完成的是打开一个 web View (作为 subview )以供用户登录,但由于某种原因我的导航 Controller 没有显示后退按钮。我尝试了一些不同的方法,但没有成功,显然我做错了,所以寻求指导。

我的导航 Controller 被设置为根 Controller ,堆栈上的下一个是 epViewController。该 View Controller 是应用程序的起点。从这个 View 中,我有两个按钮,一个用于登录,一个用于输入一些数据(与这个问题无关)。

epViewController代码片段:

- (IBAction)buttonToLoginView:(id)sender
{
UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://example.com/wsapi/user/login"]]];

[self.view addSubview:webView];
}

这非常有效,因为 subview 显示导航栏和远程登录页面,但没有后退按钮。基于其他一些代码片段,我尝试了以下操作(在同一个 epViewController 文件中):

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back???" style:UIBarButtonItemStylePlain target:nil action:nil];

self.navigationItem.backBarButtonItem = backButton;
}

但是只有当我单击按钮输入一些数据(实际上转到另一个具体 View Controller 与 subview )时,才会添加此自定义按钮。

我需要做什么才能将后退按钮添加到 subview ?是否建议在这里使用 subview ,我应该将其链接到另一个具体 View Controller 吗?

最佳答案

将导航 Controller 视为所有实际 View Controller 的容器。从这个意义上说,导航 Controller 并不是真正的“堆栈上的第一个”,而您的 epViewController 是“堆栈上的下一个”。相反,导航 Controller 是实际的堆栈,而 epViewController 是其第一个(也是唯一的)项目。当您的应用程序启动时,导航 Controller 会显示其 Root View Controller ,这就是您在屏幕上看到的内容。当您调用导航 Controller 的 pushViewController: 方法时,新的 View Controller 将被推送到堆栈上,并显示后退按钮。

就您而言,我建议不要将 WebView 显示为主视图上的 subview 。相反,将其放在自己的 View Controller 中。在此 View Controller 中,您可以像以前尝试的那样添加后退按钮。然后使用 [self presentModalViewController:] 以模态方式呈现该 View Controller 。这会让用户感觉更有条理、更流畅,并且避免了在主视图上摆弄 subview 的麻烦。

关于iphone - IOS - XCode 4 - iPhone 6.0 - 将后退按钮添加到 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16452165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com