Hi Guys
Even i searched a lot for pull down to refresh in android and IOS and found for scroll and used it to work it for pull to refresh. The following code works good for me for "Pull to Refresh" in a UIATable in IOS app.
import org.openqa.selenium.remote.RemoteWebElement;
import java.util.HashMap;
WebElement element=driver.findElement(By.className("UIATableCell"));
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap scrollObject = new HashMap();
scrollObject.put("direction", "up");
scrollObject.put("element", ((RemoteWebElement) element).getId());
js.executeScript("mobile: scroll", scrollObject);
js.executeScript("mobile: scroll", scrollObject);
I have added the last line twice intentionally and so the code tries to scroll down twice and there you go it give a pull to bottom and my page got refresh with the refresh symbol on top, if this does not work, try scrolling to the top of the table before trying this code.
Note: In IOS there is no getId() but it does not pop up any issue for me.