【问题标题】:Method is not calling from UITableview?方法不是从 UITableview 调用的?
【发布时间】:2013-05-08 18:59:23
【问题描述】:

我有一个UITableView,在didSelect 方法中,我正在使用参数调用另一个类的方法,当我单击行时,我想用相应的参数打开该类xib。但是当我单击UITableView 行没有发生任何事情,实际上方法正在调用但新的xib 没有打开。

didSelect 方法中的以下代码`

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    SearchResult* hit = (SearchResult*)[results objectAtIndex:[indexPath row]];

    [epubViewController loadSpine:hit.chapterIndex atPageIndex:hit.pageIndex highlightSearchResult:hit];
}

`

epubViewController 是第二类的对象,“loadSpine:atPageIndex:highlightSearchResult:”是该类中的一个方法”

请帮帮我

【问题讨论】:

  • 你只是调用了一个方法,而不是呈现它。使用 pushViewController 或 presentViewController 来执行此操作
  • 但同样的工作......在 github 项目 AepubReader 中。他们调用这条线并工作
  • 能把AepubReader的代码贴出来

标签: ios objective-c uitableview methods uiviewcontroller


【解决方案1】:

您没有展示epubViewController。在loadSpine方法调用之后添加这一行:

[self.navigationController pushViewController: epubViewController animated: YES];

另外,我会将hit 传递给epubViewController 并在viewDidLoadviewDidAppear 内部的epubViewController 方法上调用loadSpine

【讨论】:

  • 最好是传递一个对象,不要暴露epubViewControler的方法。
【解决方案2】:

请使用此方法推送或展示您的视图控制器,并在-(void)viewDidLoad:call 中使用此代码调用您想要的方法-

[self.navigationController pushViewController: epubViewController animated: YES];

viewDidLoad 中调用你的加载脊柱方法

[self loadSpine];

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多