首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIActivity子类打开open视图

UIActivity子类打开open视图
EN

Stack Overflow用户
提问于 2013-08-09 20:53:31
回答 3查看 255关注 0票数 0

我正在尝试创建UIActivity的子类,以便向UIActivityViewController添加一个自定义按钮。我希望这个自定义按钮能够在不离开应用程序的情况下打开链接。我已经找到了许多允许在safari中打开东西的解决方案,但我不知道是否可以在我的应用程序中打开一个UIWebview (也许是Modal view?)。

我试着在委托方法中创建一个` `UIWebview来处理点击,但是因为这不是一个视图控制器,所以我不能将它添加到视图层次结构中。

代码语言:javascript
复制
- (void)prepareWithActivityItems:(NSArray *)activityItems{
    UIWebView *webView=[[UIWebView alloc] initWithFrame:CGRectMake(0,0,320,480)];
    NSURLRequest *urlRequest;
    NSURL *urlforWebView;
    urlforWebView=[NSURL URLWithString:@"http://www.google.com"];
    urlRequest=[NSURLRequest requestWithURL:urlforWebView];
    [webView loadRequest:urlRequest];
}
EN

回答 3

Stack Overflow用户

发布于 2013-08-09 21:09:31

//示例:需要先将webview添加到mainview中

代码语言:javascript
复制
UIWebView *webView = [[UIWebView alloc] init];
[webView setFrame:CGRectMake(0, 0, 320, 460)];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]];
[[self view] addSubview:webView];
票数 1
EN

Stack Overflow用户

发布于 2013-08-09 21:39:58

我相信这个项目实现了您想要做的事情,但是它是在safari中打开的:https://github.com/davbeck/TUSafariActivity非常适合作为起点。

活动本身无法打开视图,因为它没有连接到控制器视图层次结构。您需要某种方法来告诉主机控制器用户已经选择了您的活动。最简单的方法是通过通知:

  1. 视图控制器使用给定的identifier.
  2. The活动注册通知。如果执行,则会发布此通知。
  3. 通知由处理程序方法中的活动处理,并打开web视图。
  4. 如果要从导航堆栈中删除视图控制器,请不要忘记从通知中心注销该控制器。

有很多使用通知的示例,比如下面的Send and receive messages through NSNotificationCenter in Objective-C?

票数 0
EN

Stack Overflow用户

发布于 2013-10-27 08:08:11

尝尝这个

这里的UIPlainViewController只是一个添加了WebView的自定义UIViewController。在派生的UIActivity类中实现(UIViewController *)activityViewController,如下所示:

(UIViewController *)activityViewController {

代码语言:javascript
复制
NSString *page = @"some url";

NSURL *url = [[NSURL alloc] initWithString:page];

NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];

[((UIPlainViewController*)self.plainViewController).webView loadRequest:request];

return self.plainViewController;

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18147127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档