Xamarin.iOS
स्टोरीबोर्ड का उपयोग करके xamarin.iOS में कस्टम प्रोटोटाइप टेबल सेल बनाएं और उपयोग करें
खोज…
Storyboard का उपयोग करके कस्टम सेल बनाएं
ओपन स्टोरीबोर्ड जहां आपके पास टेबल व्यू के साथ अपना व्यू कंट्रोलर है:
प्रोटोटाइप सेल जोड़ें (यदि पहले कोई सेल नहीं जोड़ा गया है):
सेल को अनुकूलित करें जैसा आप चाहते हैं (मेरे मामले में कस्टम UIImage और लेबल है):
सेल की ऊंचाई निर्धारित करना याद रखें। ऐसा करने के लिए अपने पूरे TableView का चयन करें और गुण विंडो से "लेआउट" टैब चुनें। गुण विंडो के शीर्ष पर आपको "पंक्ति ऊंचाई" देखना चाहिए - उचित मूल्य डालें:
अब एक बार फिर से प्रोटोटाइप सेल चुनें। गुण विंडो में वर्ग का नाम लिखें (यह इसके लिए कोड-पीछे वर्ग बनाएगा)। मेरे मामले में यह "FriendsCustomTableViewCell" है। उसके बाद अपने सेल के लिए "पहचानकर्ता" प्रदान करें। जैसा कि आप देख सकते हैं मेरा "फ्रेंडसेल" है। सेट करने के लिए अंतिम बात "स्टाइल" संपत्ति है जो कस्टम पर सेट है। "नाम" फ़ील्ड खाली होना चाहिए। एक बार जब आप "क्लास" टाइप करने के बाद "एंटर" पर क्लिक करेंगे तो कोड-बैक फाइल अपने आप बन जाएगी:
अब सेल के पीछे कोड नीचे की तरह दिखना चाहिए:
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 में आपको सेलआईडेंटिफायर को कक्षा के शीर्ष पर घोषित करना होगा (मेरे मामले में यह "फ्रेंडसेल" है) और "गेटसेल" पद्धति में आपको सेल डालना होगा और उनके लिए डेटा सेट करना होगा:
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;
}