首先要注意的是我不使用xib或故事板,所以一切都需要以编程方式完成。
我有一个UITableView
,当桌面视图打开时,我还需要在屏幕底部添加一个自定义静态视图(它将作为工具栏运行)。我无法将其添加为tableview的直接子视图,因为它会随表格滚动。另外值得一提的是,所有这些都位于UINavigationController
内。
任何人都知道如何解决这个问题?
答案 0 :(得分:0)
您可以使用UIToolbar
将UIBarButtonItems
添加到屏幕底部,并将UITableView
添加到视图控制器的顶部,其高度等于表格视图高度 - 工具栏高度。
答案 1 :(得分:0)
这是一个实现子类化UIViewController并向其添加UITableView和UITabBarController的实现。
@interface RKViewController ()<UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, strong) UITableView *tableView;
@property (nonatomic, strong) UITabBar *tabBar;
@property (nonatomic, strong) UITabBarController *tabBarController;
@end
@implementation RKViewController
-(id)init
{
self = [super init];
if (self) {
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 500)];
self.tableView.dataSource = self;
self.tableView.delegate = self;
self.tabBarController = [[UITabBarController alloc] init];
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor redColor];
UIViewController *vc1 = [[UIViewController alloc] init];
vc1.tabBarItem.title = @"Item 1";
UIViewController *vc2 = [[UIViewController alloc] init];
vc2.tabBarItem.title = @"Item 2";
self.tabBarController.viewControllers = [NSArray arrayWithObjects:vc1,vc2, nil];
[self.view addSubview:self.tableView];
[self.view addSubview:self.tabBarController.view];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 10;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
return [UITableViewCell new];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
@end