使用UITableViewController时,如何实现非弹跳UITableView?

时间:2012-03-15 23:42:59

标签: ipad uiscrollview uitableview

在我正在开发的iPad应用程序中,我想显示一个不滚动且不反弹的UITableView(意味着尝试向上或向下滚动tableview不会显示滚动和快照效果)。我想这样做的原因是UITableView包含固定数量的单元格,并在单元格数量(tableView:heightForRowAtIndexPath:)中平均划分可见空间。不需要滚动。 UITableView和UIScrollView是用户无需了解的实现细节。

UIScrollView有一个布尔bounces属性,如果我可以访问UIScrollView实例,我可以将其设置为NO

我希望UITableViewController的UITableView实例具有UIScrollView的超级视图。但是,在我的UITableViewController子类中,self.view.superviewself.tableView.superview都是nil。我已经在UITableViewController的-initWithStyle:-viewDidLoad-viewWillAppear:方法中确定了这一点。

有没有其他方法可以访问包含我的UITableView的UIScrollView?我想象这种技术涉及的代码最少,尽管从UITableViewController或UITableView没有直接访问UIScrollView实例。

或者我应该是否继承UIViewController而不是UITableViewController,并实例化未包含在UIScrollView中的UITableView?还是我忽略了另一种选择?

1 个答案:

答案 0 :(得分:3)

UITableViewUIScrollView的子类,因此UITableView具有退回属性(UIScrollView具有的所有属性)。
因此,要取消跳出,您需要编写self.tableView.bounces = NO;。要取消滚动,self.tableView.scrollEnabled = NO; 当然,您可以使用Interface Builder设置此属性。