按钮在UITableView的headerview上没有响应

时间:2013-06-26 13:04:42

标签: iphone objective-c uitableview header uibutton

我正在为tableview创建标题。并在该标题上添加视图。 在该视图中,有两个图像视图和一个按钮

按钮没有响应(顶部的一个非常小的区域响应) 为什么会这样,请帮助我?

我尝试了一些SO答案 - 比如“setAutoresizingMask:UIViewAutoresizingNone” 但没有任何工作

这是我的代码

 -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
 {


  // ADDING A VIEW     

   UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 310, 39.0)];
   header.backgroundColor = [UIColor clearColor];
   header.userInteractionEnabled = YES;
  [header setAutoresizingMask:UIViewAutoresizingFlexibleHeight];


  // ADDING IMAGE VIEW

    UIImageView *image = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 310, 39.0)];
    image.image = [UIImage imageNamed:@"headertop.png"];
    [image setUserInteractionEnabled:TRUE];
    [header addSubview:image];


  // ADDING ANOTHER IMAGEVIEW (beneath the view's frame)

    UIImageView *downImage = [[UIImageView alloc]initWithFrame:CGRectMake(0 , 39, 310, 23)];
    downImage.image = [UIImage imageNamed:@"headerbottom.png"];
   [header addSubview:downImage];




 // ADDING BUTTON


  UIButton *placeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  [placeBtn addTarget:self
             action:@selector(goToRestPage:)
   forControlEvents:UIControlEventTouchUpInside];
   placeBtn.tag = section;
   placeBtn.backgroundColor = [UIColor yellowColor];

   placeBtn.frame = CGRectMake(75,20, 150, 20);
   [header addSubview:placeBtn];





     return header;

  }

2 个答案:

答案 0 :(得分:5)

使用此方法。我想你错过了这种方法。

-(float)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{
     return  30.0;
}

或者此方法已存在,因此请增加标题的高度。

-(float)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section 
{
     return  80.0;
}

答案 1 :(得分:0)

请这样做:

用户交互从您的XIB启用为TRUE。默认为FALSE。

谢谢,