KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Edit: Updated to make question more obvious Edit 2: Made question more accurate to my real-world problem. I'm actually looking to take action if they tap anywhere EXCEPT in an on-screen text-field. Thus, I can't simply listen for events within the textfield, I need to know if they tapped anywhere in the View. I'm writing unit tests to assert that a certain action is taken when a gesture recognizer recognizes a tap within certain coordinates of my view . I want to know if I can programmatically create a touch (at specific coordinates) that will be handled by the UITapGestureRecognizer. I'm attempting to simulate the user interaction during a unit test. The UITapGestureRecognizer is configured in Interface Builder //MYUIViewControllerSubclass.m -(IBAction)viewTapped:(UITapGestureRecognizer*)gesture { CGPoint tapPoint = [gesture locationInView:self.view]; if (!CGRectContainsPoint(self.textField, tapPoint)) { // Do stuff if they tapped anywhere outside the text field } } //MYUIViewControllerSubclassTests.m //What I'm trying to accomplish in my unit test: -(void)testThatTappingInNoteworthyAreaTriggersStuff { // Create fake gesture recognizer and ViewController MYUIViewControllerSubclass *vc = [[MYUIViewControllersSubclass alloc] init]; UITapGestureRecognizer *tgr = [[UITapGestureRecognizer initWithView: vc.view]; // What I want to do: [[ Simulate A Tap anywhere outside vc.textField ]] [[ Assert that "Stuff" occured ]] }
Tags (comma-separated)
Save Edits
Cancel