将单元格粘贴到屏幕底部
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
.
我尝试在 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
.