Zoeken…


Maak een aangepaste cel met behulp van Storyboard

Open Storyboard waar u uw ViewController met TableView hebt:

Prototype-cel toevoegen (als er nog geen cel is toegevoegd):

Pas de cel naar wens aan (in mijn geval is er aangepaste UIImage en Label):

voer hier de afbeeldingsbeschrijving in

voer hier de afbeeldingsbeschrijving in

Vergeet niet om de hoogte van de cel in te stellen. Selecteer hiervoor uw hele TableView en selecteer in het venster Eigenschappen het tabblad "Layout". Bovenaan het eigenschappenvenster zou u "rijhoogte" moeten zien - voer de juiste waarde in:

voer hier de afbeeldingsbeschrijving in

Selecteer nu opnieuw het prototype van de cel. Typ in het venster Eigenschappen de naam van de klasse (hiervoor wordt code achter klasse gemaakt). In mijn geval is dit "FriendsCustomTableViewCell". Geef daarna "Identifier" voor uw cel. Zoals je kunt zien is mijn "FriendCell". Het laatste dat u moet instellen, is de eigenschap "Stijl" ingesteld op aangepast. Het veld "Naam" moet leeg zijn. Zodra u op "enter" klikt na het typen van "Class", wordt het code-behind-bestand automatisch gemaakt:

voer hier de afbeeldingsbeschrijving in

voer hier de afbeeldingsbeschrijving in

Nu moet de code achter de cel er als volgt uitzien:

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

In UITableViewSource moet je cellIdentifier bovenaan de klas verklaren (in mijn geval is dit "FriendCell") en in de "GetCell" -methode moet je cellen casten en gegevens voor hen instellen:

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow