将单元格粘贴到屏幕底部

Stick a cell to the bottom of the screen

我尝试在 X-Code 7 上使用 Objective-C 开发应用程序。

假设我在UITableViewController。我已经添加了所有 Table View Cell,我需要将 'The Footer' 分开以粘在底部。

如何分离'The Footer'使其粘在屏幕底部?

这里你有 2 个解决方案(至少)。

解决方案 1

(警告!不要这样做!这个版本的实现速度更快,但这是非常非常糟糕的做法)
无论如何...
在您的表ViewController 的 .m 文件中:

@interface TableViewController()
@property (strong, nonatomic) UITableView *myTableView;
@end

@implementation TableViewController
- (void)viewDidLoad
{
    [super viewDidLoad];

    CGFloat footerHeight = 60;
    self.myTableView = self.tableView;

    self.view = [[UIView alloc] initWithFrame:self.view.bounds];
    self.view.backgroundColor = self.myTableView.backgroundColor;
    CGRect frame = self.myTableView.frame;
    frame.size.height -= footerHeight;
    self.myTableView.frame = frame;
    [self.view addSubview:self.myTableView];   

    //Create your footer view, set frame to it and add as subView
    UIView *footerView = ...
    footerView.frame = CGRectMake(0, self.myTableView.frame.size.height, self.view.frame.size.width, footerHeight);
    [self.view addSubview:footerView];
}
//...
@end

请注意,这是直接在 SO 编辑器中快速编写的代码,因此可能存在一些语法错误。

解决方案 2

(推荐方案)

在你的故事板中创建一个新的 ViewController 并创建一个从 UIViewController 派生的新的 class(比如 ParentVC)并将那个 class 名称设置为那个 ViewController 在情节提要中。添加一个容器和一个 UIView(将其放在底部。这将是您的页脚视图)。将您的表 ViewController 嵌入到容器中。 它看起来像这样:

从表ViewController您可以通过调用
访问ParentVC (ParentVC *)self.parentViewController.
反之亦然:从 parent 你可以调用:
(TableViewController *)self.childViewControllers.firstObject.