UITableView
。
在Storyboard
上添加了一个新的UIViewController
设置到相关的SlideViewcontroller类,添加一个新的UITableView
(tbl_Slide),设置数据源并委托故事板中的UIViewController添加UITableView 。
并且还将相关的数据源和委托方法包含在UIViewController类中。
- (void)viewDidLoad {
[super viewDidLoad];
self.tbl_SlideMenu = [[UITableView alloc]
initWithFrame:CGRectMake(0, 80, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStylePlain];
self.tbl_SlideMenu.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
self.tbl_SlideMenu.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
self.tbl_SlideMenu.separatorColor = [UIColor lightGrayColor];
self.tbl_SlideMenu.dataSource=self;
self.tbl_SlideMenu.delegate=self;
[self.view addSubview:self.tbl_SlideMenu];
}
由于UITiewView为UIView添加了UIViewController,因此无需在上面引入两行代码
self.tbl_SlideMenu = [[UITableView alloc]
initWithFrame:CGRectMake(0, 80, self.view.frame.size.width,self.view.frame.size.height) style:UITableViewStylePlain];
[self.view addSubview:self.tbl_SlideMenu];
一旦我将分配包括在内并添加到子视图中,它就会用tableview显示数据。 删除分配后,添加到子视图的帧不可见。
所以我需要故事板,我将UITableView添加到UIViewController用于UIView(视图默认。)一旦Component添加到storyboard并且框架不需要在代码中分配和框架。
预先谢谢 希望得到最好的答案
答案 0 :(得分:2)
如果您在storyboard中添加了tableview,则在这种情况下无需初始化代码中的视图组件,如下所述,您不需要下面的行
self.tbl_SlideMenu = [[UITableView alloc]
initWithFrame:CGRectMake(0, 80, self.view.frame.size.width,self.view.frame.size.height) style:UITableViewStylePlain];
但是您需要为outlet
创建一个tableview
来访问code
中的表格视图,这意味着只要加载了视图,您的所有视图组件都会在您的案例中初始化。初始化,你可以准备好使用它,如果你在storyboard中设置datasource和delegate,你也不需要下面的代码行
self.tbl_SlideMenu.dataSource=self;
self.tbl_SlideMenu.delegate=self;
因为你配置了你的tableview数据源和委托,并且还添加了tableview来查看控制器的视图,所以也不需要下面的行
[self.view addSubview:self.tbl_SlideMenu];
第二种方式就像你提到的那样在纯代码中创建视图,在这种情况下,你必须自己完成所有事情,从初始化到添加视图组件到控制器的视图,如下所述
self.tbl_SlideMenu = [[UITableView alloc]
initWithFrame:CGRectMake(0, 80, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStylePlain]; //creating the tableview
self.tbl_SlideMenu.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
self.tbl_SlideMenu.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; //configuring the view
self.tbl_SlideMenu.separatorColor = [UIColor lightGrayColor];
self.tbl_SlideMenu.dataSource=self; //setting the datasource and delegate
self.tbl_SlideMenu.delegate=self;
[self.view addSubview:self.tbl_SlideMenu]; //adding it to tableview
希望你能得到这个
修改强>
它对我工作正常,我用一些虚拟值交叉检查它,例如我提到的,拖放一个tableview,设置其数据源并委托给故事板中的View Controller
并连接{ {1}}文件,如下所示,
ViewController.h
和#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UITableViewDataSource,UITableViewDelegate>
@property (weak, nonatomic) IBOutlet UITableView *tbl_SlideMenu;
@end
档案
ViewController.m
我得到的输出显示了每行5“Hello”的tableview