Jul*_*ssi 6 safari xcode objective-c ipad ios
我一直试图在我的iPad应用程序中插入一个小的webview(320x480),以模拟一个显示移动twitter的小"iPhone屏幕".但是,每当uiwebview获得加载http://mobile.twitter.com的NSUrlRequest时,我的应用程序就会自动从屏幕上扯下来,iOS会打开Twitter for iPad.
有没有办法改变这种行为?
这是我正在做的事情:
UIWebView *viewDoTwitter = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, self.view.bounds.size.height)];
viewDoTwitter.autoresizingMask = UIViewAutoresizingFlexibleHeight;
viewDoTwitter.scalesPageToFit = YES;
[rootView insertSubview:viewDoTwitter atIndex:0];
[viewDoTwitter loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://mobile.twitter.com"]]];
Run Code Online (Sandbox Code Playgroud)
编辑:
好的,我找到了解决方案,在这里:http://www.mphweb.com/en/blog/easily-set-user-agent-uiwebview
UIWebView *viewDoTwitter = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, self.view.bounds.size.height)];
viewDoTwitter.autoresizingMask = UIViewAutoresizingFlexibleHeight;
viewDoTwitter.scalesPageToFit = YES;
NSDictionary *dictionnary = [[NSDictionary alloc] initWithObjectsAndKeys:@"Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];
[rootView insertSubview:viewDoTwitter atIndex:0];
[viewDoTwitter loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://m.twitter.com"]]];
Run Code Online (Sandbox Code Playgroud)
但是,现在面临一个新问题:mobile.twitter.com坚持要适应iPad屏幕的大小,而不是我指定的320像素宽度.
如果你这样做,你不应该被重定向
- (void)viewDidLoad {
[super viewDidLoad];
NSURL *url = [NSURL URLWithString:@"http://mobile.twitter.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
}
Run Code Online (Sandbox Code Playgroud)
您描述的行为可以通过这行代码(重定向)来实现:
[[UIApplication sharedApplication] openURL:url];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4206 次 |
| 最近记录: |