如何在UIScrollView中使用UITableView并接收单元格?

Cen*_*ion 1 iphone objective-c uitableview uiscrollview ios

DiscountListTableViewController在我的应用程序中显示为一个单独的屏幕.但是还有另一个屏幕(PlaceDetailsViewController),我需要在底部显示相关的折扣.

目前,PlaceDetailsViewController.viewUIScrollView作为容器和我加入DiscountListTableViewController.tableView到这个UIScrollView.content容器中viewDidLoadPlaceDetailsViewController.这样可以正常显示表格视图,但无法接收单元格点击.

我知道UITableView继承UIScrollView而且不知何故(但不限制).但是,从松散耦合的角度来看,每个组件的设计应该可以在其他地方独立使用,而且就DiscountListTableViewController我而言.

PlaceDetailsViewController组件只需要按DiscountListTableViewController原样,所以没有逻辑上的理由不能直接使用它.有什么建议?

Bha*_*vin 24

答:不要这样做.

UITableview 继承自----> UIScrollView : UIView : UIResponder : NSObject

Apple说:

重要提示:您不应在UIScrollView对象中嵌入UIWebView或UITableView对象.如果这样做,可能会导致意外行为,因为两个对象的触摸事件可能混淆和错误处理.

  • @NSGangster 没问题。您可以禁用 tableview 的滚动并将其放在 scrollview 中。但是您必须自己计算 tableview 的高度。并且它将禁用tableview的单元格重用功能。 (4认同)
  • 我知道这个问题太老了。但是如果我禁用触摸事件和滚动 tableview 怎么办?我只是想让它布局静态非用户数据? (3认同)

Lit*_*T.V 6

不建议?阅读之后,它有点"不做".不可预测性对于应用程序来说永远不是一个好的行为

重要提示:您不应在UIScrollView对象中嵌入UIWebView或UITableView对象.如果这样做,可能会导致意外行为,因为两个对象的触摸事件可能混淆和错误处理.

  • 我完全同意你的看法 (2认同)