将一个单元格粘在屏幕底部

时间:2015-12-16 10:09:58

标签: ios objective-c xcode user-interface user-experience

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

假设我在 UITableViewController 上添加了表格视图和一些表格查看单元格。我添加了所有表格查看单元格,我需要将“页脚”与“页脚”分开。坚持在底部。

如何分隔'页脚'所以它可以粘在屏幕的底部?

enter image description here

1 个答案:

答案 0 :(得分:2)

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

解决方案1 ​​

警告!不要这样做!这个版本的实施速度更快,但这是非常糟糕的做法)
反正...
  在TableViewController的.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

(推荐的解决方案)

在storyboard中创建一个新的ViewController,并从UIViewController(比如ParentVC)创建一个新的类,并将该类名设置为storyboard中的ViewController。添加一个容器和一个UIView(放在底部。这将是你的页脚视图)。将TableViewController嵌入Container中。 它看起来像这样: enter image description here

从TableViewController,您可以通过调用
来访问ParentVC (ParentVC *)self.parentViewController
反之亦然:从父母那里你可以打电话:
(TableViewController *)self.childViewControllers.firstObject