在InAppPurchase之后更改UITableViewCellAccessory。可能?

时间:2012-02-05 23:03:37

标签: iphone uitableview in-app-purchase

我有一个带有5个标签的TabBar应用程序。在第五个选项卡中,我管理InAppPurchase没有问题。当用户购买内容并切换到第一个Tab(它有一个TableView)时,我想将UITableViewCellAccessory从none更改为UITableViewCellAccessoryDisclosureIndicator。

可能吗?

我不明白我应该在哪里插入UITableViewCellAccessory的更改。

谢谢, 来自意大利的亚历山德罗。

2 个答案:

答案 0 :(得分:1)

来自意大利的Alessandro先生,

您需要做的是从cellForRow:atIndexPath:类实现UITableView方法,在该方法中,您可能会有这种类型的条件:

if (IN_APP_PURCHASE_DONE == YES){
    [cell setAccesoryType:UITableViewCellAccessoryDisclosureIndicator];
}

编辑:

为确保在购买附加内容后更新UITableVIew,您应该在表视图的视图控制器出现时检查tabBarController:didSelectViewController:对象的UITabBarControllerDelegate方法重新加载数据。

答案 1 :(得分:0)

El Developer的解决方案不太有效,因为cellForRow:atIndexPath:仅在首次创建单元格时执行。因此,如果在进行应用内购买之前打开了包含tableViewCell的选项卡,则该单元格已经创建,没有披露指示符。

以下是您需要做的事情:

  1. 在第一个标签的viewController中,创建一个UITableViewCell实例变量。
  2. cellForRow:atIndexPath:创建需要获取披露指标的单元格时,也要将实例变量设置为该单元格。
  3. 同样在第一个viewController中,创建一个将公开指示符添加到单元格的方法。
  4. 在应用内购买发生时,请调用上述方法设置单元格的披露指示器。例如,您可以将第一个选项卡的视图控制器设置为第五个选项卡的视图控制器的委托。