以编程方式选择UIView

时间:2012-07-21 09:59:52

标签: iphone ios uiview uigesturerecognizer uitapgesturerecognizer

在我的应用程序中,我想以编程方式选择UIView。 如何以编程方式选择UIView

If(UIView is selected programmatically || UIView is tapped){

          invoke tapGesture Action
}

有可能吗?

3 个答案:

答案 0 :(得分:2)

UIView本身不支持选择,尽管有些子类可以。例如,UITableViewCell具有selected属性,用于修改单元格绘制自身的方式。

如果你想模仿用户点击视图时会发生什么,你会做两件事:

  • 提供用户在点击该视图时会看到的相同反馈。这可能意味着重绘视图,执行动画,播放声音或其中某些组合。

  • 执行与用户点按视图时相同的操作。

因此,如果视图是一个按钮,您可以将其highlighted状态设置为YES,等待0.2秒,然后将其设置回以前的状态。接下来,在按钮的目标上调用按钮的操作。

答案 1 :(得分:1)

在视图中添加UITapGestureRecognizer

UITapGestureRecognizer *tapGR = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(aMethodToBeCalled)];
[yourView addGestureRecognizer:tapGR];

实现aMethodToBeCalled方法并执行需要在那里调用的任何内容。

答案 2 :(得分:0)

我想你想要选择子视图。

您可以使用以下标记初始化视图:

UIView *exampleView = [UIView alloc] init];
[exampleView setTag:1];

添加视图:

[self.view addSubView:exampleView];

如果要调用视图,只需使用:

[self.view viewWithTag:1];