Iphone 如何在iOS中动态声明的自定义视图中添加UITableView?
在我的应用程序中,在导航栏中有一个按钮(比如说浏览按钮),当我点击按钮时,会出现一个视图(比如说浏览视图),这是我在CGRectMake功能的帮助下动态拍摄的 我在browseView中添加了UITableView(比如browseTableView) 表已添加到browseView,但委托方法不起作用 请给我正确的方向 我的代码如下: MainViewController.h 你忘了提到:Iphone 如何在iOS中动态声明的自定义视图中添加UITableView?,iphone,ios,objective-c,ipad,Iphone,Ios,Objective C,Ipad,在我的应用程序中,在导航栏中有一个按钮(比如说浏览按钮),当我点击按钮时,会出现一个视图(比如说浏览视图),这是我在CGRectMake功能的帮助下动态拍摄的 我在browseView中添加了UITableView(比如browseTableView) 表已添加到browseView,但委托方法不起作用 请给我正确的方向 我的代码如下: MainViewController.h 你忘了提到: browseTableView = [[UITableView alloc]initWithFrame:
browseTableView = [[UITableView alloc]initWithFrame:CGRectMake(0.0, 0.0, 300, 460)];
browseTableView.delegate = self;
browseTableView.dataSource = self;
[browseView addSubview:browseTableView];
您需要在browseTableView=[[UITableView alloc]initWithFrame:CGRectMake(0.0,0.0,300,460)]之后设置它;因为您创建了一个新对象,它被过度引用了。如果我将表添加到主视图,它将被添加,但我无法将其添加到browseview本身。这很奇怪,它应该被添加。你能分享一下这个项目或是一个演示吗?当我们不知道你要去哪里的时候,很难给你指出正确的方向。请说明您正试图实现的目标以及您正试图让应用程序实现的目标。这个问题在这方面有点模糊。您还声明“委托方法不起作用”,请解释您得出该结论的确切方式和原因
browseTableView.delegate = self;
browseTableView.dataSource =self;
-(void)BrowseButton {
browseView = [[UIView alloc]initWithFrame:CGRectMake(0.0, 0.0, 300.0, 500.0)];
browseView.backgroundColor = [UIColor whiteColor];
browseView.opaque = NO;
[browseView.layer setBorderColor: [[UIColor blackColor] CGColor]];
[browseView.layer setBorderWidth: 4.0];
[browseView setBackgroundColor:[UIColor clearColor]];
browseTableView = [[UITableView alloc]initWithFrame:CGRectMake(0.0, 0.0, 300, 460)];
[browseView addSubview:browseTableView];
[self.view addSubview:browseView];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
categoryArray = [[NSMutableArrayalloc]initWithObjects:@"Platinum",@"Diamond",
@"Gold",@"Silver", nil];
return [categoryArray count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [[UITableViewCell alloc]init];
cell.textLabel.text = [categoryArray objectAtIndex:indexPath.row];
return cell;
}
browseTableView = [[UITableView alloc]initWithFrame:CGRectMake(0.0, 0.0, 300, 460)];
browseTableView.delegate = self;
browseTableView.dataSource = self;
[browseView addSubview:browseTableView];