在我正在开发的iPad应用程序中,我想显示一个不滚动且不反弹的UITableView(意味着尝试向上或向下滚动tableview不会显示滚动和快照效果)。我想这样做的原因是UITableView包含固定数量的单元格,并在单元格数量(tableView:heightForRowAtIndexPath:
)中平均划分可见空间。不需要滚动。 UITableView和UIScrollView是用户无需了解的实现细节。
UIScrollView有一个布尔bounces
属性,如果我可以访问UIScrollView实例,我可以将其设置为NO
。
我希望UITableViewController的UITableView实例具有UIScrollView的超级视图。但是,在我的UITableViewController子类中,self.view.superview
和self.tableView.superview
都是nil。我已经在UITableViewController的-initWithStyle:
,-viewDidLoad
和-viewWillAppear:
方法中确定了这一点。
有没有其他方法可以访问包含我的UITableView的UIScrollView?我想象这种技术涉及的代码最少,尽管从UITableViewController或UITableView没有直接访问UIScrollView实例。
或者我应该是否继承UIViewController而不是UITableViewController,并实例化未包含在UIScrollView中的UITableView?还是我忽略了另一种选择?
答案 0 :(得分:3)
UITableView
是UIScrollView
的子类,因此UITableView
具有退回属性(UIScrollView
具有的所有属性)。
因此,要取消跳出,您需要编写self.tableView.bounces = NO;
。要取消滚动,self.tableView.scrollEnabled = NO;
当然,您可以使用Interface Builder设置此属性。