UITableView : Swipe-Right In Xamarin iOS App

Introduction

Xamarin is a platform to develop cross-platform and multi-platform apps (for example, Windows phone, Android, iOS). In Xamarin platform, the code sharing concept is used. In Xamarin Studio, Visual Studio is also available.


Prerequisites
  • Xamarin Studio.
  • Xcode.
The steps given below are required to be followed in order to swipe the list in right using UITableView in Xamarin iOS.

Step 1

Go To Xamarin Studio.

Click New Solution—> select iOS—>select App--> Choose single View App. Afterwards, click Next.



Step 2

In this step, configure your app. Give the app name (Ex:sample), Organization Identifier. Afterwards, click Next.



Step 3

In this step, give your project name (Ex: Sample) and solution name (Ex: Sample). Give the path of your project. Afterwards, click Create.



Step 4

Subsequently, go to the solution. In the solution, get all the files and sources in your project. Now, select Main.storyboard and double click to open Main.storyboard page.



Step 5

After opening the Main.storyboard, you can design this page, as per your desire.



Step 6

In this step design your app.using storyboard, Toolbox and Properties.
  1. Table View(myTable).
  2. Lable(lblMessage).


Step 7

In this step, go to the ViewController.cs page. write the code given below.

ViewController.cs
  1. using System;  
  2. using UIKit;  
  3. namespace XamariniOSTableView {  
  4.     public partial class ViewController: UIViewController {  
  5.         public string[] list = {  
  6.             "Xamarin",  
  7.             "Windows",  
  8.             "iOS",  
  9.             "Android",  
  10.             "Visual Studio",  
  11.             "Azure",  
  12.             "UWP",  
  13.             "Xcode",  
  14.             "Cognitive Service"  
  15.         };  
  16.         protected ViewController(IntPtr handle): base(handle) {  
  17.             // Note: this .ctor should not contain any initialization logic.  
  18.         }  
  19.         public override void ViewDidLoad() {  
  20.             base.ViewDidLoad();  
  21.             MyTable.Source = new TableSource(list);  
  22.             MyTable.Delegate = new TableDelegate();  
  23.         }  
  24.         public override void DidReceiveMemoryWarning() {  
  25.             base.DidReceiveMemoryWarning();  
  26.             // Release any cached data, images, etc that aren't in use.  
  27.         }  
  28.     }  
  29. }  


Step 8

In this step add one file  called TableSource.cs.

Go to Solution—>Resource—>Right click—>Add—>New File—>Select Empty Class. and give name (Ex:TableSource).



Step 9

In this step, go to the TableSource.cs page. write the code given below.

TableSource.cs
  1. using System;  
  2. using Foundation;  
  3. using UIKit;  
  4. namespace XamariniOSTableView {  
  5.     public class TableSource: UITableViewSource {  
  6.         string[] list;  
  7.         public TableSource() {}  
  8.         public TableSource(string[] list) {  
  9.             this.list = list;  
  10.         }  
  11.         public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) {  
  12.             var cell = new UITableViewCell(UITableViewCellStyle.Default, "");  
  13.             string item = list[indexPath.Row];  
  14.             cell.TextLabel.Text = item;  
  15.             return cell;  
  16.         }  
  17.         public override nint RowsInSection(UITableView tableview, nint section) {  
  18.             return list.Length;  
  19.         }  
  20.         public override void RowSelected(UITableView tableView, NSIndexPath indexPath) {  
  21.             string item = list[indexPath.Row];  
  22.             UIAlertView alert = new UIAlertView("Selected Item", item, null"OK");  
  23.             alert.Show();  
  24.         }  
  25.     }  
  26. }  


Step 10

In this step add one File it’s name called TableDelegate.cs. This class is use to Swipe Right Action.

Go to Solution—>Resource—>Right click—>Add—>New File—>Select Empty Class. and give name (Ex: TableDelegate.cs).



Step 11

In this step, go to the TableDelegate.cs page. write the code given below.

TableDelegate.cs
  1. using System;  
  2. using UIKit;  
  3. namespace XamariniOSTableView {  
  4.     public class TableDelegate: UITableViewDelegate {  
  5.         public override UITableViewRowAction[] EditActionsForRow(UITableView tableView, Foundation.NSIndexPath indexPath) {  
  6.             var action = UITableViewRowAction.Create(UITableViewRowActionStyle.Default, "Click", (arg1, arg2) => {  
  7.                 var cell = tableView.CellAt(arg2);  
  8.                 cell.TextLabel.Text += "_Clicked";  
  9.             });  
  10.             return new UITableViewRowAction[] {  
  11.                 action  
  12.             };  
  13.         }  
  14.     }  
  15. }  


Step 12

Now, go to Run option , choose Debug and the list of iPhone and iPad simulators, which are available. You can choose any one simulator and run it.



Output

After a few seconds, the app will start running on your iPhone simulator.You will see your app working successfully. You can see the Table View Swping Right is Working Successfully.







Summary

This was the process of how to Swipe Right Using UITableView in Xamarin iOS.