2014-07-09 146 views
0

我將UIImageView添加到CustomCell(UITableViewCell的子類)。
但是,當我在CustomCell設置ImageView的圖像,
應用程序衝突與日誌消息:
[CustomCell setImageView:]:無法識別的選擇器

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CustomCell setImageView:]: unrecognized selector sent to instance 0x10912d990' 

我有這樣的代碼。

的ViewController

@property (nonatomic, strong) UITableView* tableView; 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 320, 508)]; 
    self.tableView.delegate = self; 
    self.tableView.dataSource = self; 
    [self.view addSubview:self.tableView]; 
} 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return 1; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString* cellIdentifer = @"Cell"; 
    CustomCell* cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifer]; 
    if (cell == nil) { 
     cell = [[CustomCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifer]; 
    } 
    switch (indexPath.section) { 
     case 0: 
      switch (indexPath.row) { 
       case 0: 
        cell.imageView.image = [UIImage imageNamed:@"hello.jpg"]; 
        break; 
       default: 
        break; 
      } 
     default: 
      break; 
    } 
    return cell; 
} 

CustomCell

@property (nonatomic, strong) UIImageView* imageView; 

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
    if (self) { 
     self.imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 310, 170)]; 
     [self addSubview:self.imageView]; 
    } 
    return self; 
} 

你有什麼想法,將圖像添加到ImageView的上customCell?
謝謝。

+1

穿上這條線調試點,看看它打它:' cell = [[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifer]; ' – chuthan20

+0

使您的CustomCell成爲支持setImageView方法的東西的子類。 –

+0

嘗試在viewDidLoad中註冊自定義單元格:self.tableView registerClass:[CustomCell class] forCellReuseIdentifier:@「CustomCell」]; –

回答

0

@property(nonatomic,strong)UIImageView * imageView;應該在CustomCell.h中而不是CustomCell.m中,以便可以從其他類訪問。

0

謝謝了許多answers.I've解決。

@property (nonatomic, strong) UIImageView* imageView; 

@property (nonatomic, strong) UIImageView* myImageView; 
0

我認爲你必須做喜歡的事,這... 在

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
     if (tableView==TABLE_MEMBERS)// && (count_cell%2==0)) 
     { 

      Groupie_Moment_Timeline_Cell_Members *cell_mem =[tableView dequeueReusableCellWithIdentifier:@"Groupie_Moment_Timeline_Cell_Members"]; 

      if (cell_mem==nil) 

      { 
       NSArray *nibs=[[NSBundle mainBundle] loadNibNamed:@"Groupie_Moment_Timeline_Cell_Members" owner:self options:nil 

    ]; 
       cell_mem=[nibs objectAtIndex:0]; 
      } 




    cell_mem.selectionStyle=UITableViewCellSelectionStyleNone; 
     [cell_small.IMG_TableImage setImage:[UIImage imageNamed:@"a.png"]; 
       return cell_small; 
相關問題