编写多控制器时,uitableview代理方法 调用不到

kevin4j 发布于 2014/11/25 08:06
阅读 2K+
收藏 0

总共两个viewcontroller ,一个是view controller 另外一个是leftviewcontroller 继承 uitableviewcontroller

在leftviewcontroller中 实现代理方法 不被调用 请问是怎么情况 

//这是 viewcontroller 
#import "ViewController.h"
#import "LeftViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    LeftViewController *leftViewController = [[LeftViewController alloc] init];
    
    [self.leftView addSubview:leftViewController.view];
    
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)MoveLeft:(id)sender {
    
    NSInteger x = 0 ;
    
    if (self.mainView.frame.origin.x == 0){
        
       x += 120;
        
    }else{
        
       x = 0;
        
    }
    
    [UIView animateWithDuration:0.2f animations:^{

        [self.mainView setFrame:CGRectMake(x, 0, 320, 460)];
        
    }];
    
    
}
@end



//leftviewcontroller

#import "LeftViewController.h"

@interface LeftViewController ()
@property (nonatomic,retain) NSArray *arrayList;
@end

@implementation LeftViewController

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
    }
    return self;
}

-(void)loadView{
    
    self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 130, 460) style:UITableViewStylePlain];
    
    self.tableView.dataSource = self;
    
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    self.arrayList = @[@"renjiajia",@"hahha",@"lalla"];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    NSLog(@"1515");
    
    return self.arrayList.count;
    
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    
    [cell.textLabel setText:self.arrayList[indexPath.row]];
    
    return cell;
}

@end



打印完就是这个鸟样,搂搂 表示 不清楚 是那里的问题,请大家来帮忙指导以下咯


加载中
0
南山下
南山下
tableview没有加到视图上,另外下面这种直接add一个VC的view的方式好吗。
LeftViewController *leftViewController = [[LeftViewController alloc] init];
     
    [self.leftView addSubview:leftViewController.view];



0
GoEdge
GoEdge
需要调用 [self.tableView relodData];
0
佳小豆

LeftViewController *leftViewController = [[LeftViewController alloc] init];

[self addChildViewController:leftViewController];

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部