├── iOS ├── Resources │ └── Default-568h@2x.png ├── packages.config ├── Entitlements.plist ├── Main.cs ├── AppDelegate.cs ├── Info.plist ├── Renderers │ ├── FormsUIRefreshControl.cs │ └── PullToRefreshListViewRenderer.cs └── PullToRefresh.iOS.csproj ├── README.md ├── PullToRefresh ├── PullToRefresh.projitems ├── PullToRefresh.shproj ├── PullToRefreshListView.cs └── App.cs ├── PullToRefresh.userprefs ├── .gitignore └── PullToRefresh.sln /iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesmontemagno/Xamarin.Forms-PullToRefreshListView/HEAD/iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /iOS/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace PullToRefresh.iOS 9 | { 10 | public class Application 11 | { 12 | // This is the main entry point of the application. 13 | static void Main (string[] args) 14 | { 15 | // if you want to use a different Application Delegate class from "AppDelegate" 16 | // you can specify it here. 17 | UIApplication.Main (args, null, "AppDelegate"); 18 | } 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Xamarin.Forms-PullToRefreshListView 2 | =================================== 3 | See the new official way here: http://motzcod.es/post/113280718807/official-pull-to-refresh-in-xamarinforms-140 4 | 5 | For the latest code and other new awesome controls see my new repo: https://github.com/jamesmontemagno/Xamarin.Forms-Awesome-Controls 6 | 7 | Implementation of pull to refresh for Xamarin.Forms ListView 8 | 9 | Here is my blog post: http://motzcod.es/post/87917979362/pull-to-refresh-for-xamarin-forms-ios 10 | 11 | ![](http://media.tumblr.com/17eab5ba12a6f1a4118cb4dc7c69eaea/tumblr_inline_n6pnwfAhsD1qzumo9.png) 12 | -------------------------------------------------------------------------------- /iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | using Xamarin.Forms; 9 | 10 | namespace PullToRefresh.iOS 11 | { 12 | [Register ("AppDelegate")] 13 | public partial class AppDelegate : UIApplicationDelegate 14 | { 15 | UIWindow window; 16 | 17 | public override bool FinishedLaunching (UIApplication app, NSDictionary options) 18 | { 19 | Forms.Init (); 20 | 21 | window = new UIWindow (UIScreen.MainScreen.Bounds); 22 | 23 | window.RootViewController = App.GetMainPage ().CreateViewController (); 24 | window.MakeKeyAndVisible (); 25 | 26 | return true; 27 | } 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /PullToRefresh/PullToRefresh.projitems: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | {EF65E751-E77C-4AC7-A7D3-690FF440865E} 7 | 8 | 9 | PullToRefresh 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /PullToRefresh.userprefs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /PullToRefresh/PullToRefresh.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {EF65E751-E77C-4AC7-A7D3-690FF440865E} 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /PullToRefresh/PullToRefreshListView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Xamarin.Forms; 3 | 4 | namespace PullToRefresh 5 | { 6 | public class PullToRefreshListView : ListView 7 | { 8 | public PullToRefreshListView () 9 | { 10 | } 11 | 12 | 13 | public static readonly BindableProperty IsRefreshingProperty = 14 | BindableProperty.Create ( 15 | p => p.IsRefreshing, false); 16 | 17 | public bool IsRefreshing { 18 | get { return (bool)GetValue (IsRefreshingProperty); } 19 | set { SetValue (IsRefreshingProperty, value); } 20 | } 21 | 22 | public static readonly BindableProperty RefreshCommandProperty = 23 | BindableProperty.Create ( 24 | p => p.RefreshCommand, null); 25 | 26 | public Command RefreshCommand { 27 | get { return (Command)GetValue (RefreshCommandProperty); } 28 | set { SetValue (RefreshCommandProperty, value); } 29 | } 30 | 31 | 32 | public static readonly BindableProperty MessageProperty = 33 | BindableProperty.Create ( 34 | p => p.Message, string.Empty); 35 | 36 | public string Message { 37 | get { return (string)GetValue (MessageProperty); } 38 | set { SetValue (MessageProperty, value); } 39 | } 40 | 41 | } 42 | } 43 | 44 | -------------------------------------------------------------------------------- /iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDisplayName 6 | PullToRefresh.iOS 7 | CFBundleIdentifier 8 | com.your-company.PullToRefresh.iOS 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 1.0 13 | LSRequiresIPhoneOS 14 | 15 | MinimumOSVersion 16 | 7.0 17 | UIDeviceFamily 18 | 19 | 1 20 | 2 21 | 22 | UIRequiredDeviceCapabilities 23 | 24 | armv7 25 | 26 | UISupportedInterfaceOrientations 27 | 28 | UIInterfaceOrientationPortrait 29 | UIInterfaceOrientationLandscapeLeft 30 | UIInterfaceOrientationLandscapeRight 31 | 32 | UISupportedInterfaceOrientations~ipad 33 | 34 | UIInterfaceOrientationPortrait 35 | UIInterfaceOrientationPortraitUpsideDown 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /iOS/Renderers/FormsUIRefreshControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UIKit; 3 | using Xamarin.Forms; 4 | 5 | namespace PullToRefresh.iOS.Renderers 6 | { 7 | public class FormsUIRefreshControl : UIRefreshControl 8 | { 9 | public FormsUIRefreshControl() 10 | { 11 | this.ValueChanged += (object sender, EventArgs e) => 12 | { 13 | var command = RefreshCommand; 14 | if(command == null) 15 | return; 16 | 17 | command.Execute(null); 18 | }; 19 | } 20 | 21 | private string message; 22 | /// 23 | /// Gets or sets the message to display 24 | /// 25 | /// The message. 26 | public string Message 27 | { 28 | get { return message;} 29 | set 30 | { 31 | message = value; 32 | if (string.IsNullOrWhiteSpace (message)) 33 | return; 34 | 35 | this.AttributedTitle = new Foundation.NSAttributedString(message); 36 | } 37 | } 38 | 39 | 40 | private bool isRefreshing; 41 | /// 42 | /// Gets or sets a value indicating whether this instance is refreshing. 43 | /// 44 | /// true if this instance is refreshing; otherwise, false. 45 | public bool IsRefreshing 46 | { 47 | get { return isRefreshing;} 48 | set 49 | { 50 | isRefreshing = value; 51 | if (isRefreshing) 52 | BeginRefreshing(); 53 | else 54 | EndRefreshing(); 55 | } 56 | } 57 | 58 | /// 59 | /// Gets or sets the refresh command. 60 | /// 61 | /// The refresh command. 62 | public Command RefreshCommand { get; set;} 63 | } 64 | } 65 | 66 | -------------------------------------------------------------------------------- /iOS/Renderers/PullToRefreshListViewRenderer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Xamarin.Forms; 3 | using Xamarin.Forms.Platform.iOS; 4 | using PullToRefresh.iOS.Renderers; 5 | using PullToRefresh; 6 | using UIKit; 7 | 8 | [assembly:ExportRendererAttribute(typeof(PullToRefreshListView), typeof(PullToRefreshListViewRenderer))] 9 | namespace PullToRefresh.iOS.Renderers 10 | { 11 | public class PullToRefreshListViewRenderer : ListViewRenderer 12 | { 13 | public PullToRefreshListViewRenderer () 14 | { 15 | } 16 | 17 | private FormsUIRefreshControl refreshControl; 18 | 19 | 20 | protected override void OnElementChanged (ElementChangedEventArgs e) 21 | { 22 | base.OnElementChanged (e); 23 | 24 | if (refreshControl != null) 25 | return; 26 | 27 | var pullToRefreshListView = (PullToRefreshListView)this.Element; 28 | 29 | refreshControl = new FormsUIRefreshControl (); 30 | refreshControl.RefreshCommand = pullToRefreshListView.RefreshCommand; 31 | refreshControl.Message = pullToRefreshListView.Message; 32 | this.Control.AddSubview (refreshControl); 33 | } 34 | 35 | /// 36 | /// Raises the element property changed event. 37 | /// 38 | /// Sender. 39 | /// E. 40 | protected override void OnElementPropertyChanged (object sender, System.ComponentModel.PropertyChangedEventArgs e) 41 | { 42 | base.OnElementPropertyChanged (sender, e); 43 | var pullToRefreshListView = this.Element as PullToRefreshListView; 44 | if(pullToRefreshListView == null) 45 | return; 46 | 47 | 48 | if (e.PropertyName == PullToRefreshListView.IsRefreshingProperty.PropertyName) { 49 | refreshControl.IsRefreshing = pullToRefreshListView.IsRefreshing; 50 | } else if (e.PropertyName == PullToRefreshListView.MessageProperty.PropertyName) { 51 | refreshControl.Message = pullToRefreshListView.Message; 52 | } else if (e.PropertyName == PullToRefreshListView.RefreshCommandProperty.PropertyName) { 53 | refreshControl.RefreshCommand = pullToRefreshListView.RefreshCommand; 54 | } 55 | } 56 | } 57 | } 58 | 59 | -------------------------------------------------------------------------------- /PullToRefresh/App.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Xamarin.Forms; 3 | using System.ComponentModel; 4 | using System.Collections.ObjectModel; 5 | using System.Threading.Tasks; 6 | 7 | namespace PullToRefresh 8 | { 9 | public class App 10 | { 11 | public static Page GetMainPage () 12 | { 13 | 14 | var viewModel = new TestViewModel (); 15 | 16 | var refreshList = new PullToRefreshListView { 17 | RefreshCommand = viewModel.RefreshCommand, 18 | Message = "loading..." 19 | }; 20 | 21 | refreshList.SetBinding (PullToRefreshListView.IsRefreshingProperty, vm => vm.IsBusy); 22 | refreshList.SetBinding (PullToRefreshListView.ItemsSourceProperty, vm => vm.Items); 23 | 24 | return new NavigationPage(new ContentPage { 25 | BindingContext = viewModel, 26 | Content = refreshList, 27 | Title = "Pull To Refresh" 28 | }); 29 | } 30 | 31 | 32 | } 33 | 34 | public class TestViewModel : INotifyPropertyChanged 35 | { 36 | public ObservableCollection Items { get; set;} 37 | 38 | public TestViewModel() 39 | { 40 | Items = new ObservableCollection (); 41 | } 42 | 43 | private bool isBusy; 44 | public bool IsBusy 45 | { 46 | get { return isBusy; } 47 | set 48 | { 49 | if (isBusy == value) 50 | return; 51 | 52 | isBusy = value; 53 | OnPropertyChanged ("IsBusy"); 54 | } 55 | } 56 | 57 | private Command refreshCommand; 58 | public Command RefreshCommand 59 | { 60 | get { return refreshCommand ?? (refreshCommand = new Command (async ()=> await ExecuteRefreshCommand())); } 61 | } 62 | 63 | private async Task ExecuteRefreshCommand() 64 | { 65 | if (IsBusy) 66 | return; 67 | 68 | IsBusy = true; 69 | Items.Clear (); 70 | 71 | await Task.Run(()=>{System.Threading.Thread.Sleep (5000);}); 72 | 73 | for (int i = 0; i < 10; i++) 74 | Items.Add (DateTime.Now.AddMinutes (i).ToString ("F")); 75 | 76 | IsBusy = false; 77 | } 78 | 79 | #region INotifyPropertyChanged implementation 80 | 81 | public event PropertyChangedEventHandler PropertyChanged; 82 | 83 | #endregion 84 | 85 | public void OnPropertyChanged(string propertyName) 86 | { 87 | if (PropertyChanged == null) 88 | return; 89 | 90 | PropertyChanged (this, new PropertyChangedEventArgs (propertyName)); 91 | } 92 | 93 | } 94 | } 95 | 96 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ################# 2 | ## Eclipse 3 | ################# 4 | 5 | *.pydevproject 6 | .project 7 | .metadata 8 | bin/ 9 | tmp/ 10 | *.tmp 11 | *.bak 12 | *.swp 13 | *~.nib 14 | local.properties 15 | .classpath 16 | .settings/ 17 | .loadpath 18 | 19 | # External tool builders 20 | .externalToolBuilders/ 21 | 22 | # Locally stored "Eclipse launch configurations" 23 | *.launch 24 | 25 | # CDT-specific 26 | .cproject 27 | 28 | # PDT-specific 29 | .buildpath 30 | 31 | 32 | ################# 33 | ## Visual Studio 34 | ################# 35 | 36 | ## Ignore Visual Studio temporary files, build results, and 37 | ## files generated by popular Visual Studio add-ons. 38 | 39 | # User-specific files 40 | *.suo 41 | *.user 42 | *.sln.docstates 43 | 44 | # Build results 45 | 46 | [Dd]ebug/ 47 | [Rr]elease/ 48 | x64/ 49 | build/ 50 | [Bb]in/ 51 | [Oo]bj/ 52 | [Pp]ackages/ 53 | 54 | # MSTest test Results 55 | [Tt]est[Rr]esult*/ 56 | [Bb]uild[Ll]og.* 57 | 58 | *_i.c 59 | *_p.c 60 | *.ilk 61 | *.meta 62 | *.obj 63 | *.pch 64 | *.pdb 65 | *.pgc 66 | *.pgd 67 | *.rsp 68 | *.sbr 69 | *.tlb 70 | *.tli 71 | *.tlh 72 | *.tmp 73 | *.tmp_proj 74 | *.log 75 | *.vspscc 76 | *.vssscc 77 | .builds 78 | *.pidb 79 | *.log 80 | *.scc 81 | 82 | # Visual C++ cache files 83 | ipch/ 84 | *.aps 85 | *.ncb 86 | *.opensdf 87 | *.sdf 88 | *.cachefile 89 | 90 | # Visual Studio profiler 91 | *.psess 92 | *.vsp 93 | *.vspx 94 | 95 | # Guidance Automation Toolkit 96 | *.gpState 97 | 98 | # ReSharper is a .NET coding add-in 99 | _ReSharper*/ 100 | *.[Rr]e[Ss]harper 101 | 102 | # TeamCity is a build add-in 103 | _TeamCity* 104 | 105 | # DotCover is a Code Coverage Tool 106 | *.dotCover 107 | 108 | # NCrunch 109 | *.ncrunch* 110 | .*crunch*.local.xml 111 | 112 | # Installshield output folder 113 | [Ee]xpress/ 114 | 115 | # DocProject is a documentation generator add-in 116 | DocProject/buildhelp/ 117 | DocProject/Help/*.HxT 118 | DocProject/Help/*.HxC 119 | DocProject/Help/*.hhc 120 | DocProject/Help/*.hhk 121 | DocProject/Help/*.hhp 122 | DocProject/Help/Html2 123 | DocProject/Help/html 124 | 125 | # Click-Once directory 126 | publish/ 127 | 128 | # Publish Web Output 129 | *.Publish.xml 130 | *.pubxml 131 | 132 | # NuGet Packages Directory 133 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line 134 | #packages/ 135 | 136 | # Windows Azure Build Output 137 | csx 138 | *.build.csdef 139 | 140 | # Windows Store app package directory 141 | AppPackages/ 142 | 143 | # Others 144 | sql/ 145 | *.Cache 146 | ClientBin/ 147 | [Ss]tyle[Cc]op.* 148 | ~$* 149 | *~ 150 | *.dbmdl 151 | *.[Pp]ublish.xml 152 | *.pfx 153 | *.publishsettings 154 | 155 | # RIA/Silverlight projects 156 | Generated_Code/ 157 | 158 | # Backup & report files from converting an old project file to a newer 159 | # Visual Studio version. Backup files are not needed, because we have git ;-) 160 | _UpgradeReport_Files/ 161 | Backup*/ 162 | UpgradeLog*.XML 163 | UpgradeLog*.htm 164 | 165 | # SQL Server files 166 | App_Data/*.mdf 167 | App_Data/*.ldf 168 | 169 | ############# 170 | ## Windows detritus 171 | ############# 172 | 173 | # Windows image file caches 174 | Thumbs.db 175 | ehthumbs.db 176 | 177 | # Folder config file 178 | Desktop.ini 179 | 180 | # Recycle Bin used on file shares 181 | $RECYCLE.BIN/ 182 | 183 | # Mac crap 184 | .DS_Store 185 | 186 | 187 | ############# 188 | ## Python 189 | ############# 190 | 191 | *.py[co] 192 | 193 | # Packages 194 | *.egg 195 | *.egg-info 196 | dist/ 197 | build/ 198 | eggs/ 199 | parts/ 200 | var/ 201 | sdist/ 202 | develop-eggs/ 203 | .installed.cfg 204 | 205 | # Installer logs 206 | pip-log.txt 207 | 208 | # Unit test / coverage reports 209 | .coverage 210 | .tox 211 | 212 | #Translations 213 | *.mo 214 | 215 | #Mr Developer 216 | .mr.developer.cfg 217 | -------------------------------------------------------------------------------- /PullToRefresh.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "PullToRefresh", "PullToRefresh\PullToRefresh.shproj", "{EF65E751-E77C-4AC7-A7D3-690FF440865E}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PullToRefresh.iOS", "iOS\PullToRefresh.iOS.csproj", "{D44BFF78-A829-4382-A053-7D36B810B923}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|iPhoneSimulator = Debug|iPhoneSimulator 11 | Release|iPhoneSimulator = Release|iPhoneSimulator 12 | Debug|iPhone = Debug|iPhone 13 | Release|iPhone = Release|iPhone 14 | Ad-Hoc|iPhone = Ad-Hoc|iPhone 15 | AppStore|iPhone = AppStore|iPhone 16 | Debug|Any CPU = Debug|Any CPU 17 | Release|Any CPU = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {D44BFF78-A829-4382-A053-7D36B810B923}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone 21 | {D44BFF78-A829-4382-A053-7D36B810B923}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone 22 | {D44BFF78-A829-4382-A053-7D36B810B923}.AppStore|iPhone.ActiveCfg = AppStore|iPhone 23 | {D44BFF78-A829-4382-A053-7D36B810B923}.AppStore|iPhone.Build.0 = AppStore|iPhone 24 | {D44BFF78-A829-4382-A053-7D36B810B923}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator 25 | {D44BFF78-A829-4382-A053-7D36B810B923}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator 26 | {D44BFF78-A829-4382-A053-7D36B810B923}.Debug|iPhone.ActiveCfg = Debug|iPhone 27 | {D44BFF78-A829-4382-A053-7D36B810B923}.Debug|iPhone.Build.0 = Debug|iPhone 28 | {D44BFF78-A829-4382-A053-7D36B810B923}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator 29 | {D44BFF78-A829-4382-A053-7D36B810B923}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator 30 | {D44BFF78-A829-4382-A053-7D36B810B923}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator 31 | {D44BFF78-A829-4382-A053-7D36B810B923}.Release|Any CPU.Build.0 = Release|iPhoneSimulator 32 | {D44BFF78-A829-4382-A053-7D36B810B923}.Release|iPhone.ActiveCfg = Release|iPhone 33 | {D44BFF78-A829-4382-A053-7D36B810B923}.Release|iPhone.Build.0 = Release|iPhone 34 | {D44BFF78-A829-4382-A053-7D36B810B923}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator 35 | {D44BFF78-A829-4382-A053-7D36B810B923}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator 36 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Ad-Hoc|iPhone.ActiveCfg = Debug|iPhoneSimulator 37 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Ad-Hoc|iPhone.Build.0 = Debug|iPhoneSimulator 38 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.AppStore|iPhone.ActiveCfg = Debug|iPhoneSimulator 39 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.AppStore|iPhone.Build.0 = Debug|iPhoneSimulator 40 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator 41 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator 42 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Debug|iPhone.ActiveCfg = Debug|iPhoneSimulator 43 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Debug|iPhone.Build.0 = Debug|iPhoneSimulator 44 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator 45 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator 46 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Release|Any CPU.ActiveCfg = Debug|iPhoneSimulator 47 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Release|Any CPU.Build.0 = Debug|iPhoneSimulator 48 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Release|iPhone.ActiveCfg = Debug|iPhoneSimulator 49 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Release|iPhone.Build.0 = Debug|iPhoneSimulator 50 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Release|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator 51 | {EF65E751-E77C-4AC7-A7D3-690FF440865E}.Release|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator 52 | EndGlobalSection 53 | GlobalSection(MonoDevelopProperties) = preSolution 54 | StartupItem = iOS\PullToRefresh.iOS.csproj 55 | EndGlobalSection 56 | EndGlobal 57 | -------------------------------------------------------------------------------- /iOS/PullToRefresh.iOS.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | iPhoneSimulator 6 | {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 7 | {D44BFF78-A829-4382-A053-7D36B810B923} 8 | Exe 9 | PullToRefresh.iOS 10 | Resources 11 | PullToRefreshiOS 12 | Xamarin.iOS 13 | v1.0 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\iPhoneSimulator\Debug 20 | DEBUG;__MOBILE__;__IOS__; 21 | prompt 22 | 4 23 | false 24 | None 25 | Entitlements.plist 26 | true 27 | 28 | 29 | full 30 | true 31 | bin\iPhoneSimulator\Release 32 | __MOBILE__;__IOS__; 33 | prompt 34 | 4 35 | None 36 | false 37 | Entitlements.plist 38 | 39 | 40 | true 41 | full 42 | false 43 | bin\iPhone\Debug 44 | DEBUG;__MOBILE__;__IOS__; 45 | prompt 46 | 4 47 | false 48 | Entitlements.plist 49 | true 50 | iPhone Developer 51 | ARMv7 52 | 53 | 54 | full 55 | true 56 | bin\iPhone\Release 57 | __MOBILE__;__IOS__; 58 | prompt 59 | 4 60 | Entitlements.plist 61 | false 62 | iPhone Developer 63 | ARMv7, ARM64 64 | 65 | 66 | full 67 | true 68 | bin\iPhone\Ad-Hoc 69 | __MOBILE__;__IOS__; 70 | prompt 71 | 4 72 | false 73 | Entitlements.plist 74 | true 75 | Automatic:AdHoc 76 | iPhone Distribution 77 | ARMv7, ARM64 78 | 79 | 80 | full 81 | true 82 | bin\iPhone\AppStore 83 | __MOBILE__;__IOS__; 84 | prompt 85 | 4 86 | false 87 | Entitlements.plist 88 | Automatic:AppStore 89 | iPhone Distribution 90 | ARMv7, ARM64 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | ..\packages\Xamarin.Forms.1.3.1.6296\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll 99 | 100 | 101 | ..\packages\Xamarin.Forms.1.3.1.6296\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll 102 | 103 | 104 | ..\packages\Xamarin.Forms.1.3.1.6296\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | --------------------------------------------------------------------------------