以编程方式为UIView添加目标

时间:2012-10-12 10:05:43

标签: iphone ios cocoa-touch uiview

在我看来,我想添加一个目标,当我点击视图时应该触发该目标。我可以通过IB做同样的事情,或者我甚至在代码中为按钮做了这件事。但是我不知道如何以编程方式为UIView做这件事。

之前任何人都这样做过。

帮助我。

2 个答案:

答案 0 :(得分:6)

要点击UIView,您必须使用UIGestureRecognizerUITouch。这只会有助于提示行动。 UIButton有一个选择器方法,而UIView没有任何这样的方法。此外,UIImageViews等也是如此。

答案 1 :(得分:5)

您可以使用UIGestureRecognizer实现此目的。

第1步:

在{viewcontroller

中添加UIView作为属性
@property (strong, nonatomic) IBOutlet UIView *yourView;

第2步:

为您的UIView设置UIGestureRecognizer

- (void)viewDidLoad {
    [super viewDidLoad];
    UIGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleGesture:)];
    [self.yourView addGestureRecognizer:gesture];
}

第3步:

处理UIView上的点击。

- (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer {
    //to get the clicked location inside the view do this.
    CGPoint point = [gestureRecognizer locationInView:self.yourView];
}

请记住,UIGestureRecognizer将与单个视图一起使用。