我正在构建一个简单的notes应用程序,我想在TableView的底部添加一个静态栏。例如,我想添加一个帮助按钮。我怎么能只做我的TableView?
到目前为止:
我已经在故事板中添加了一个工具栏,但这会使它粘在最后制作的tableView单元格的末尾。我希望它坚持到底。我输入此代码以编程方式执行:
@property (strong, nonatomic) IBOutlet UIToolbar *toolbar;
在我的tableViewController.h文件和
中[self.view addSubview:_toolbar];
[self.navigationController.view setFrame:self.view.frame];
在我的viewDidLoad
方法
谢谢!
答案 0 :(得分:10)
最好的解决方案是使用UIViewController而不是UITableViewController。 (上面已经说过了,但是让我给你详细说明。)
使用它的相应XIB创建一个新的UIViewController。在新的UIViewController视图中,在UITableView中拖动它,调整它的大小,然后在任意位置拖动你的UIToolbar。
你应该有这样的东西:
黑色边框代表UIViewController的主视图。红色边框代表表格视图。蓝色边框代表您的工具栏。
然后,让你的UIViewController符合两个协议:UITableViewDelegate和UITableViewDataSource。您将手动实现它的基本方法,例如我们的cellForRowAtIndexPath,numberOfRowsInSection等,但它不会花费你很长时间。
将您的UITableView链接到您的UIViewController。将它的“数据源”和“委托”属性链接到视图控制器。
您将在不到15分钟的时间内完成设置。
答案 1 :(得分:6)
我刚刚发现了一个更好的技巧!
在viewDidLoad:
下添加以下代码行self.navigationController.toolbarHidden = NO;
完成!
答案 2 :(得分:3)
您可以将标准UITableViewController与故事板一起使用。在“模拟指标”中,转到底部栏菜单,然后选择“工具栏”。工具栏出现。然后,您可以向其添加按钮项。
答案 3 :(得分:1)
通过代码添加工具栏很简单。
UIToolbar *toobar = [[UIToolbar alloc]initWithFrame:frameYouNeed];
toobar.barStyle = UIBarStyleBlack;
[self.view addSubview:toobar];
但是如果你使用UITableView作为subView而不是UITableViewController
会更好答案 4 :(得分:0)
您应该使用ViewController
代替TableViewController
然后在您的头文件中将TableView
作为IBOutlet。声明委托和数据源。你准备好了。
答案 5 :(得分:0)
默认情况下,您可以使用所有UITableViews中包含的工具栏,并向其添加UIBarButtonItems。尽管名称,UIBarButtonItems可以定制为任何类型的视图。然后将它们添加到属性self.toolbarItems,默认情况下可用于UITableViews。 例如
UIBarButtonItem * textItem;
UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 250, 48)];
label.text = @"ImportantText";
label.adjustsFontSizeToFitWidth = YES;
label.textAlignment = NSTextAlignmentRight;
textItem = [[ UIBarButtonItem alloc ] initWithCustomView:label];
UIBarButtonItem * switchItem;
UISwitch * switchCtrl = [[UISwitch alloc] init];
[switchCtrl addTarget:self action:@selector(toggleSomething:) forControlEvents:UIControlEventValueChanged];
switchItem = [[ UIBarButtonItem alloc ] initWithCustomView:switchCtrl];
self.toolbarItems = [ NSArray arrayWithObjects:
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
textItem,switchItem,nil ];
答案 6 :(得分:0)
通过检查导航控制器中的显示工具栏,我在故事板中工作了。然后将Bar Button Items拖动到现在显示在Table View Controller底部的灰色工具栏区域。然后将条形按钮项目连接到方法导航控制器。
答案 7 :(得分:-1)
试试这个,它会将你的工具栏添加为表格的footerView。并确保您将表格的页脚高度设为44(工具栏的高度)。
self.tableView.tableFooterView = _toolbar;