【问题标题】:How to increment a selected table row on iPhone如何在 iPhone 上增加选定的表格行
【发布时间】:2009-09-27 20:57:01
【问题描述】:

如果有人能够帮助我解决以下问题,那就太好了!

这就是我想要做的。我的应用程序基本上是一个 RSS 阅读器。 rss 条目的主题显示在表格视图中。点击一个条目会打开一个显示整个故事的 Web 视图。在这个 web 视图中,我添加了一个带有向上和向下箭头的工具栏,这样用户就可以跳转到下一个/上一个故事,而无需离开 web 视图并且不必点击表格中的另一个条目。我的问题是我不知道如何归档这个。也许这与我的应用程序的结构有关。我的猜测是我必须在点击按钮时以某种方式增加所选行。

正如我所说,可能代码有点复杂,所以我在这里发布了整个项目:http://www.schimanke.com/flo.zip 如果有人可以看看并告诉我该怎么做,那就太好了。

【问题讨论】:

    标签: ios iphone uiwebview row


    【解决方案1】:

    您需要知道当前在您的模型上选择了哪一行。由于您从 web 视图中引用了模型,这很容易:

    int row = [mainModel.blogEntries indexOfObject:mainModel.selectedBlogEntry];
    

    因此,之后您只需要显示下一个(或上一个)条目。根据您的代码,它是这样的:

    - (void) showNextPrevEntry:(int)increment usingTheOldController:(BlogEntryController *)controller {
    
        int row = [mainModel.blogEntries indexOfObject:mainModel.selectedBlogEntry];
        if (row+increment<[mainModel.blogEntries count] && row+increment>=0) {
            mainModel.selectedBlogEntry = [ mainModel.blogEntries objectAtIndex:row+increment];
            controller.mainModel = mainModel;
            [controller viewDidLoad];
        }
    
    }
    

    我认为调用 viewDidLoad 并不健康。也许您需要另一种方法来更新当前加载的视图并从您的 viewDidLoad 中调用它。另外,我不确定您为什么要使用通知来处理工具栏中的按钮按下,但它确实有效。 :)

    【讨论】:

      猜你喜欢
      • 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
      相关资源
      最近更新 更多