将视图连接到IBOutlet

时间:2018-06-22 15:28:29

标签: objective-c xcode interface-builder

我有一个自定义按钮,该按钮基本上是带有手势识别器的UIView。 UIView和它的手势识别器都放在界面生成器中。

手势识别器的动作会触发segue并打开视图控制器。这样就可以了。

我为此UIView按钮创建了一个IBOutlet,但是似乎我将其挂起时,触发segue并打开下一个视图控制器的动作停止工作,即使手势识别器和动作仍在界面生成器中显示

当我将UIView连接到IBOutlet时,为什么手势识别器会停止工作?

2 个答案:

答案 0 :(得分:0)

检查是否在id检查器中为该视图启用了用户交互。或检查连接检查器中是否没有显示多余的连接

答案 1 :(得分:0)

为什么要在UIView中添加手势?只需从情节提要中将UIView转换为UIControl类,就可以使用情节提要简单地在按钮上添加诸如按钮之类的操作

enter image description here

或者通过添加手势即可做到

使用UIView连接视图的IBOutlet

然后在其中添加手势

enter image description here

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

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

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

    //Do stuff here...
}