Programing

uitableview 셀에 이미지 추가

crosscheck 2020. 12. 14. 07:52
반응형

uitableview 셀에 이미지 추가


tableview이 셀의 왼쪽에 이미지를 추가하려면 어떻게 해야 합니까?


cell.imageView.image = [UIImage imageNamed:@"image.png"];

업데이트 : Steven Fisher가 말했듯이 이것은 기본 스타일 인 UITableViewCellStyleDefault 스타일이있는 셀에서만 작동합니다. 다른 스타일의 경우 셀의 contentView에 UIImageView를 추가해야합니다.


이 코드를 시도하십시오 :-

UIImageView *imv = [[UIImageView alloc]initWithFrame:CGRectMake(3,2, 20, 25)];
imv.image=[UIImage imageNamed:@"arrow2.png"];
[cell addSubview:imv];
[imv release];

표준 UITableViewCell에는 이미지가 설정된 경우 모든 레이블의 왼쪽에 나타나는 UIImageView가 이미 포함되어 있습니다. imageView 속성을 사용하여 액세스 할 수 있습니다.

cell.imageView.image = someImage;

어떤 이유로 표준 동작이 필요에 맞지 않는 경우 (표준 이미지보기의 속성을 사용자 지정할 수 있음) Aman이 답변에서 제안한대로 셀에 고유 한 UIImageView를 추가 할 수 있습니다. 그러나 이러한 접근 방식에서는 셀 레이아웃을 직접 관리해야합니다 (예 : 셀 레이블이 이미지와 겹치지 않는지 확인). 그리고 서브 뷰를 셀에 직접 추가하지 말고 셀의 contentView에 추가하십시오.

// DO NOT!
[cell addSubview:imv]; 
// DO:
[cell.contentView addSubview:imv];

동료 Swift 사용자를 위해 필요한 코드는 다음과 같습니다.

let imageName = "un-child-rights.jpg"
let image = UIImage(named: imageName)
cell.imageView!.image = image

Swift 4 솔루션 :

    cell.imageView?.image = UIImage(named: "yourImageName")

다른 사람들의 모든 좋은 답변. 이 문제를 해결할 수있는 두 가지 방법은 다음과 같습니다.

  1. 이미지 뷰의 크기를 프로그래밍 방식으로 제어해야하는 코드에서 직접

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "xyz", for: indexPath)
        ...
        cell.imageView!.image = UIImage(named: "xyz") // if retrieving the image from the assets folder 
        return cell
    }
    
  2. 스토리 보드에서, 유틸리티 창의 속성 검사기 및 크기 검사기를 사용하여 위치를 조정하고 제약 조건을 추가하고 치수를 지정할 수 있습니다.

    • 스토리 보드에서 원하는 크기로 셀의 콘텐츠보기에 imageView 개체를 추가하고 속성 검사기의보기 (imageView)에 태그를 추가합니다. 그런 다음 viewController에서 다음을 수행하십시오.

      override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
          let cell = tableView.dequeueReusableCell(withIdentifier: "xyz", for: indexPath)
          ...
          let pictureView = cell.viewWithTag(119) as! UIImageView //let's assume the tag is set to 119
          pictureView.image = UIImage(named: "xyz") // if retrieving the image from the assets folder 
          return cell
      }
      

참고 URL : https://stackoverflow.com/questions/5869610/add-image-to-uitableview-cell

반응형