Ios 目标c[自动加载视图]屏幕上的小车
在搜索了互联网上的所有内容,查看了无数的论坛和教程之后,我找不到一种方法来修复我的bug 问题是:在我的ios应用程序中,我正在加载一个子网络视图以查看互联网上的一些stuf。为了能够返回到我的应用程序,我设置了一个后退按钮,当我点击它时,它会加载我的RootViewController。但当我从我的子视图加载视图控制器时,我的barButton标题下有一个空白条带。如果有人已经有了这个bug??如果您能提供一些帮助或提示,我们将不胜感激 下面是我的bug的图片: 代码如下:Ios 目标c[自动加载视图]屏幕上的小车,ios,objective-c,Ios,Objective C,在搜索了互联网上的所有内容,查看了无数的论坛和教程之后,我找不到一种方法来修复我的bug 问题是:在我的ios应用程序中,我正在加载一个子网络视图以查看互联网上的一些stuf。为了能够返回到我的应用程序,我设置了一个后退按钮,当我点击它时,它会加载我的RootViewController。但当我从我的子视图加载视图控制器时,我的barButton标题下有一个空白条带。如果有人已经有了这个bug??如果您能提供一些帮助或提示,我们将不胜感激 下面是我的bug的图片: 代码如下: - (void)
- (void) showBack;
{
[self loadView];
[self.navigationItem.leftBarButtonItem setEnabled:NO];
}
- (void) makeRootButton
{
UIBarButtonItem *rootButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Hub" style:UIBarButtonItemStyleBordered target:self action:@selector(showBack)];
self.navigationItem.leftBarButtonItem = rootButtonItem;
[rootButtonItem release];
}
- (void)showWebView;
{
UIWebView* webView = [[UIWebView alloc] initWithFrame:self.view.frame];
[self.view addSubview:webView];
[self makeRootButton];
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *defaults = [prefs stringForKey:@"myKey"];
NSString *defaults2 = [prefs stringForKey:@"mySecondKey"];
NSString *username = defaults;
NSString *password = defaults2;
NSURL* url = [NSURL URLWithString:@"http://www.google.com"];
NSString* body = [NSString stringWithFormat:@"login=%@&password=%@", username, password];
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:30];
request.HTTPMethod = @"POST";
request.HTTPBody = [body dataUsingEncoding:NSStringEncodingConversionAllowLossy];
[webView loadRequest:request];
}
感谢任何帮助
< P>您应该考虑为Web视图创建一个新的视图控制器,或者将该视图控制器推到您的导航堆栈上或呈现它(并添加一些方法返回)。将web视图添加为子视图确实有效,但不是很干净您的问题是您不应该自己调用
loadView
(这根本不是解决问题的正确方法)。使用addSubview:
添加web视图。与此相反的是removeFromSuperview
,您应该在showBack
方法中在web视图上调用它。您不应该调用loadView,非常感谢您的回答,但我如何才能做得不同,因为当我调用navigationController通过自指针推送RootViewController时,我会得到一个信号,您可以在应用程序中创建并使pushViewController成为委托。好的,我现在就开始我认为你是对的,我必须做一些干净的事情,没有理由做肮脏的代码。我会像你说的那样为WebView做一个ViewController。谢谢你的回答,先生。