수색…


스토리 보드를 사용하여 맞춤 셀 만들기

테이블 뷰가있는 ViewController가있는 Storyboard를 엽니 다.

프로토 타입 셀 추가 (전에 셀이 추가되지 않은 경우) :

원하는대로 셀을 사용자 정의하십시오 (제 경우에는 사용자 정의 UIImage 및 Label이 있습니다).

여기에 이미지 설명을 입력하십시오.

여기에 이미지 설명을 입력하십시오.

셀의 높이를 설정하는 것을 잊지 마십시오. 그렇게하려면 전체 TableView를 선택하고 속성 창에서 "레이아웃"탭을 선택하십시오. 속성 창 상단에 "행 높이"가 표시되어야합니다. 적절한 값을 입력하십시오.

여기에 이미지 설명을 입력하십시오.

이제 프로토 타입 셀을 다시 한 번 선택하십시오. 속성 창에서 클래스의 이름을 입력합니다. 클래스의 코드 숨김 클래스가 만들어집니다. 내 경우에는 "FriendsCustomTableViewCell"입니다. 그 후에 당신의 세포를위한 "Identifier"를 제공하십시오. 당신이 볼 수 있듯이 "FriendCell"입니다. 마지막으로 설정할 스타일은 "스타일"속성이 사용자 정의로 설정되어 있습니다. '이름'입력란은 비워 두어야합니다. "Class"를 입력 한 후 "enter"를 클릭하면 코드 숨김 파일이 자동으로 생성됩니다.

여기에 이미지 설명을 입력하십시오.

여기에 이미지 설명을 입력하십시오.

이제 셀에 대한 코드는 다음과 같이 보입니다.

public partial class FriendsCustomTableViewCell : UITableViewCell
{
    public FriendsCustomTableViewCell (IntPtr handle) : base (handle)
    {
    }

    public FriendsCustomTableViewCell(NSString cellId, string friendName, UIImage friendPhoto) : base (UITableViewCellStyle.Default, cellId)
    {
        FriendNameLabel.Text = friendName;
        FriendPhotoImageView.Image = friendPhoto;
    }

    //This methods is to update cell data when reuse:
    public void UpdateCellData(string friendName, UIImage friendPhoto)
    {
        FriendNameLabel.Text = friendName;
        FriendPhotoImageView.Image = friendPhoto;
    }
}

UITableViewSource에서 클래스 상단에 cellIdentifier를 선언해야합니다 (내 경우에는 "FriendCell"임). "GetCell"메서드에서 셀을 캐스팅하고 이에 대한 데이터를 설정해야합니다.

string cellIdentifier = "FriendCell";

public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
    FriendsCustomTableViewCell cell = (FriendsCustomTableViewCell) tableView.DequeueReusableCell(cellIdentifier);
    Friend friend = _friends[indexPath.Row];

    //---- if there are no cells to reuse, create a new one
    if (cell == null)
    { cell = new FriendsCustomTableViewCell(new NSString(cellIdentifier), friend.FriendName, new UIImage(NSData.FromArray(friend.FriendPhoto))); }

    cell.UpdateCellData(friend.UserName, new UIImage(NSData.FromArray(friend.FriendPhoto)));

    return cell;
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow