使TableView只占用屏幕的一部分

Tom*_*eit 3 interface-builder uitableview uiview ios

默认情况下,当我在IB中拖出一个TableViewController时,tableview会占用所有屏幕,即使用户滚动tableview,也无法添加一个保持原位的UIView(如果我说添加带有一些按钮的UIView,那么当我滚动桌面视图时,UIView也会滚动.)

我的程序使用UITableViewController子类来控制tableview,即使用户滚动,顶部栏保持静态的最简单方法是什么?

Mic*_*lum 5

简单,而不是使用UITableViewController只需使用UIViewController,其中放置了UITableView.(留出空间让您在表格上方或下方添加辅助视图)这样,您可以让视图控制器的视图占据整个屏幕,并手动定义其中的表格视图的框架.将需要一些重新安排,但将满足您的需求.

在此输入图像描述

您需要注意的唯一真正的区别是,您需要使视图控制器符合UITableViewDelegate和UITableViewDatasource协议,以及自己声明表视图的出口.

@property (weak,nonatomic) IBOutlet UITableView *tableView;
Run Code Online (Sandbox Code Playgroud)

同样重要的是要记住,有一些功能仅在UITableViewController上可用clearsSelectionOnViewWillAppear,但您可以自己复制它们.

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.tableView deselectRowAtIndexPath:self.tableView.indexPathsForSelectedRows animated:YES];
}
Run Code Online (Sandbox Code Playgroud)