>

테이블 뷰의 헤더를 만들고 해당 헤더에 뷰를 추가합니다. 이보기에는 두 개의 이미지 뷰와 버튼이 있습니다

버튼이 반응하지 않습니다 (상단의 아주 작은 영역이 반응합니다) 왜 이런 일이 발생합니까? 제발 도와주세요?

"setAutoresizingMask : UIViewAutoresizingNone"과 같은 SO 답변을 시도했습니다. 하지만 아무것도 작동하지 않습니다

내 코드는

-(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;
  }


  • 답변 # 1

    이 방법을 사용하십시오. 이 방법이 그립다 고 생각합니다.

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

    이 방법이 이미 존재하므로 헤더 높이를 늘리십시오.

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

  • 답변 # 2

    이 작업을 수행하십시오 :

    사용자 상호 작용이 XIB에서 참으로 활성화되었습니다. 기본적으로 FALSE입니다.

    감사합니다,

  • 이전 geopandas - python - 지오 판을 가져 오려고하면 왜 오류가 발생합니까?
  • 다음 java - 쉼표로 구분 된 레코드를 문자열 배열로?