【问题标题】:Opening another view from a UITableViewCell从 UITableViewCell 打开另一个视图
【发布时间】:2013-10-17 17:24:16
【问题描述】:

我正在尝试使用同一场景中的 UIWebView 打开嵌入在自定义表格视图单元格中的链接。但是,当我点击按钮时,webview 没有响应打开。该按钮正在工作(它将打印一个 NSLog),如果我将其设置为在“HouseItemsViewController”的 ViewDidLoad 中可见,webview 将显示。

表格视图包含我的自定义单元格,我正在尝试显示突出显示的视图:

Imgur image of my "House Items View Controller" Scene

HouseItemsViewController 包含一个接受 NSURL 的方法:

- (void)displayWebViewWithURL:(NSURL *)targetURL
{
    NSURL *url = targetURL;
    NSURLRequest *myrequest = [NSURLRequest requestWithURL:url];
    [webView loadRequest:myrequest];
    theURLView.hidden=NO;
}

自定义表格视图单元格包含一个动作:

- (IBAction)congressUrlLink:(id)sender
{
    HouseItemsViewController* billViewController = (HouseItemsViewController*)self.tapHandler;
    [billViewController displayWebViewWithURL:congressUrl];
}

tapHandler 的定义位置:

@property (nonatomic, copy) void (^tapHandler)(id sender);

从这里引用 HouseItemsViewController 并执行 displayWebViewWithURL:(NSURL *)targetURL 方法的正确方法是什么?[

【问题讨论】:

    标签: iphone ios objective-c uitableview uiviewcontroller


    【解决方案1】:

    我会手动将 tapHandler 分配为委托。

    @property (nonatomic, weak) HouseItemsViewController *delegate;
    

    合成它,并在初始化表格视图单元格后手动分配:

     [myCell setDelegate:self];
    

    希望对你有帮助

    【讨论】:

    • 谢谢,KDaker。您会设置该委托属性并在单元格的头文件或表格视图的标题中合成它吗?然后你会在创建单元格的 tableview 控制器中调用“[myCell setDelegate:self]; 吗?你会更改我上面共享的任何代码吗?谢谢你的帮助。每次我想我开始得到这些东西我意识到我什么都不知道。
    • 我在 TableViewController 中添加了创建单元格的“selfDelegate”行,但它返回错误:不兼容的指针类型将“TableViewController”发送到“HouseItemsViewController *”类型的参数我试图取消隐藏的带有 web 视图的视图。
    • @TedCap 你需要合成它(单元格实现文件)。现在 setDelegate 在创建单元格的位置被调用,通常在 cellForRowAtIndexPath: 中。我将self 作为代表传递,因为我假设HouseItemsViewController 是包含您的tableview 的内容,不是这样吗?在你的单元格的头文件中,不要 import HouseItems... 类,而是使用这个:@class HouseItemsViewController
    • 不走运。仍然没有反应。 TableView 是“BillTableViewController”@interface BillTableViewController 中的 IBOutlet:NSObject 。根据原始帖子中链接的图像,此 BillTableViewController 位于由 HouseItemsViewController 控制的视图层次结构中。我还有其他方法吗?感谢您的帮助。
    • 啊,你知道我认为搞砸的是,URL 附加到的按钮存在于独立于情节提要的 xib 上。
    猜你喜欢
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    相关资源
    最近更新 更多