private static void InitializeSearch(object view, UITableViewSource source)
{
var searchbarAttribute = view.GetType().GetCustomAttribute<SearchbarAttribute>();
var searchbar = source as ISearchBar;
if (searchbarAttribute != null && searchbar != null)
{
searchbar.SearchPlaceholder = searchbarAttribute.Placeholder;
searchbar.IncrementalSearch = searchbarAttribute.IncrementalSearch;
searchbar.EnableSearch = searchbarAttribute.ShowImmediately;
searchbar.IsSearchbarHidden = !searchbarAttribute.ShowImmediately;
var methods = GetMethods(view);
foreach (var method in methods)
{
var attribute = method.GetCustomAttribute<SearchbarAttribute>();
if (attribute != null)
{
searchbar.SearchPlaceholder = attribute.Placeholder;
searchbar.IncrementalSearch = attribute.IncrementalSearch;
searchbar.EnableSearch = attribute.ShowImmediately;
searchbar.IsSearchbarHidden = !attribute.ShowImmediately;
searchbar.SearchCommand = new SearchCommand(view, method as MethodInfo);
break;
};
}
}
}