小编Jul*_*ssi的帖子

如何在UITextField中插入蓝色文本标记?

有没有办法让UITextField(或类似的类)本地创建这个蓝色文本标记?如果没有,有人知道任何类似的示例代码吗?

iphone xcode objective-c ipad ios

6
推荐指数
1
解决办法
6225
查看次数

在UIWebView上请求http://mobile.twitter.com

我一直试图在我的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 …
Run Code Online (Sandbox Code Playgroud)

safari xcode objective-c ipad ios

6
推荐指数
1
解决办法
4206
查看次数

在UIWebView中获取iPhone的移动Twitter webapp

好的,这是场景:我正在构建一个iPad应用程序,它将显示一个UIWebView,宽度= 320像素(或现在点).它会在应用程序内部出现"小部件".

我必须通过在self.viewDidLoad上执行此操作来修改webview的用户代理,以使其显示mobileversion而不是桌面版本.

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];
Run Code Online (Sandbox Code Playgroud)

我还将webview的帧设置为320像素宽,并将settingsPageToFit设置为YES.

好的,但问题出在这里:webview显示移动版本,但是TABLET移动版本可能出现在Honeycombs平板电脑上.它有点像一个巨大的iPhone网络应用程序,有600像素宽.UIwebView的框架宽320px,但它的内容要宽得多.

我不明白可能会有什么问题,因为用户代理被设置为iPhone上的Mobile Safari.有关如何使这个320px宽的UIWebView显示与iPhone的Mobile Safari上键入mobile.twitter.com时完全相同的版本的想法吗?

编辑:好的,问题似乎与twitter webapp使用"设备宽度"来确定向用户显示哪个webapp这一事实有关.

我找到了这个解决方案:在UIPopoverController中的UIWebView中显示Wiki移动页面

有点工作:

 -(void)webViewDidFinishLoad:(UIWebView *)webView{
if (hasLoaded == NO){
     NSString *webHTML = [NSString stringWithContentsOfURL:self.webView.request.URL encoding:NSUTF8StringEncoding error:NULL];
     NSRange range = [webHTML rangeOfString:@"device-width"];
     if ((range.location!=NSNotFound)&&(range.length != 0)) {   
          webHTML = [webHTML stringByReplacingOccurrencesOfString:@"device-width" withString:@"320" options:0 range:range];
          [self.webView loadHTMLString:webHTML baseURL:[NSURL URLWithString:@"http://mobile.twitter.com"]];
          hasLoaded = YES;
      }
}
Run Code Online (Sandbox Code Playgroud)

它将设备上的代码更改为320,这是完美的,但是......当webview重新加载(使用新代码)时,我得到的是旧的(非常旧的)Twitter网络应用程序,而不是当前的应用程序.关于如何解决这个问题的任何想法?

iphone xcode objective-c ipad ios

3
推荐指数
1
解决办法
3434
查看次数

标签 统计

ios ×3

ipad ×3

objective-c ×3

xcode ×3

iphone ×2

safari ×1