【问题标题】:[iOS]How can I omit protocols?[iOS]如何省略协议?
【发布时间】:2018-04-11 03:24:00
【问题描述】:

我是iOS新手

我正在尝试使用 UIWebView 制作一个简单的浏览器。

这是我的代码。

“ViewController.h”

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@property (strong, nonatomic) IBOutlet UIWebView *webView;
@property (weak, nonatomic) IBOutlet UITextField *addrInputField;

-(IBAction)enterButton:(id)sender;

/*go back btn*/
-(IBAction)goBackBtn:(id)sender;

/*go front btn*/
-(IBAction)goForwardBtn:(id)sender;

@end

“ViewController.m”

/*url enter button*/
-(IBAction)enterButton:(id)sender{

    NSString *str = [_addrInputField text];
    NSURLRequest *rqst = [NSURLRequest requestWithURL:[NSURL URLWithString:str]];
    [_webView loadRequest:rqst];
}
/*go back button*/
-(IBAction)goBackBtn:(id)sender{
    if([self.webView canGoBack]){
        [self.webView goBack];
    }
}
/*go forward button*/
-(IBAction)goForwardBtn:(id)sender{
    if([self.webView canGoForward]){
        [self.webView goForward];
    }

}

这些简单的东西都是我的代码。

在 Text Field 中输入 url 并点击 enterButton 然后 webView 被改变。

当我在 textField 中输入 url 比如:“http://apple.com”时,视图就会改变。

但输入 url : "apple.com",查看无效。

输入网址时如何省略协议?

p.s 我想知道如何同时处理 http 和 https。

感谢阅读。

******添加详细信息。

当我按下 Enter 键时..

Chrome 将我的输入“apple.com”修改为“https://apple.com”自动添加协议“https://”。

我想在我的应用程序中添加此功能。谢谢。

【问题讨论】:

  • 您的意思是用户不必输入httphttps
  • 没错。那是我的问题。
  • 当用户不输入httphttps时你想要什么。仍然访问该网站或使用谷歌搜索它?
  • 我将编辑我的帖子并添加详细信息。
  • 我有一个消息要告诉你。 Chrome 使用 WKWebView 而不是 UIWebView。祝你好运:D。

标签: ios objective-c xcode uiwebview protocols


【解决方案1】:

从文本字段中获取字符串后,在创建NSURL 后,您可以从中检索URLScheme。如果是nil,可以自己加http

NSURL *url = [NSURL URLWithString:str];
if url.scheme == nil {
   [NSString stringWithFormat:@"http://%@",str];
   url = [NSURL URLWithString:str];
}

【讨论】:

  • http 主要是自动重定向到https
猜你喜欢
  • 1970-01-01
  • 2019-02-20
  • 2018-10-12
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2014-11-24
  • 1970-01-01
相关资源
最近更新 更多