Question: Instances of UIButton, UITableViewCell, etc can be used as segue sources in Interface Builder (i.e. you can ctrl-click those objects and link them to controllers in a storyboard).

Can we create a direct UIView subclass that allows the same functionality? If so, how?

**NOTE:** Here's another way to ask my question: how can I add items in the "Triggered Segues" section of my own classes? Here's what one can see for a UITableViewCell:

[![Triggered Segue](https://i.stack.imgur.com/llNqW.png)](https://i.stack.imgur.com/llNqW.png)

Answer: 
You can subclass the control which fits better to your purpose.

Latter in Xcode you must place the name of the class in the right inspector and if it needs different options use key-propertyes.

The tab once you have selected the UIView is tooltiped as 'Show identity inspector'.

Then you can acces to the Custom Class area and you can select the class name.

A more sophisticated feature is using 'User Defined Runtime Attributes'
Yes from view controller to view controller create a segue in storyboard. YOU MUST give that segue an identifier. Then listen for touches began on that view and call [self performSegueWithIdentifier@"YOUR IDENTIFER"];

No you can not directly make a UIVIEW have an action. You can add a button
HERE ADD A BUTTON TO VIEW

```
UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 100)];
[view setUserInteractionEnabled:NO];
[view setBackgroundColor:[UIColor redColor]];

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn addSubview:view];
[btn setFrame:CGRectMake(0, 0, 200, 100)];
[btn addTarget:self action:@selector(click)forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:btn];

```

or add tap recognizer to view

```
//The setup code (in viewDidLoad in your view controller)
     UITapGestureRecognizer *singleFingerTap = 
  [[UITapGestureRecognizer alloc] initWithTarget:self 
                                      action:@selector(handleSingleTap:)];
[self.view addGestureRecognizer:singleFingerTap];

//The event handling method
- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer {
  CGPoint location = [recognizer locationInView:[recognizer.view superview]];

 //Do stuff here...
}

```