【问题标题】:Trying to pass tag value of UIImageView to viewController试图将 UIImageView 的标签值传递给 viewController
【发布时间】:2013-09-01 01:26:57
【问题描述】:

我的应用程序中有两个 UIImageView,它们在被触摸时都会调用同一个 viewController。但是,我正在尝试找出一种方法来区分一个 UIImageView 与另一个的调用,并且我认为通过给每个 UIImageView 一个标记值将是可行的方法。

现在我已经这样做了,我想弄清楚当我调用所需的 viewController 时如何实际传递它?请记住,我正在调用的 viewController 是从 .xib 文件创建的,并且是从故事板中内置的应用程序调用的。

这是我从 UIImageView 实例化和调用 viewController 的方法:

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    
    _nextView = [[NextViewController alloc] initWithNibName:@"NextViewController" bundle:nil];
    [_nextView setDelegate:(id)self];
    [_nextView setSignatureDelegate:self];
    NextNavigationController *navigationController = [[NextNavigationController alloc] initWithRootViewController:_nextView];
    [self presentViewController:navigationController animated:YES completion:nil];
    
}

正如我所提到的,当我调用显示 viewController 时,我也想以某种方式从调用 UIImageView 传递标记值。我通过属性检查器在 IB 中设置的每个 UIImageView 的标记值。我该怎么做?

【问题讨论】:

  • 您是否考虑过使用 UIButton 而不是 UIImageView?按下按钮时会调用一个动作方法。它沿着按钮传递,因此您还可以在该操作方法中检查其标签。您只需要将其设置为自定义按钮,然后分配图像。
  • 这实际上是一个我没有想到的有趣的可能性。如果我目前的方法不起作用,我可能不得不考虑它!

标签: ios uiviewcontroller uiimageview xib touchesbegan


【解决方案1】:

touches 集合包含 UITouch 对象的实例。使用touch.view 属性来确定最初发生触摸的视图对象。一旦你有了那个引用,你就可以得到那个视图的标签值。

但请考虑制作这些 UIButton 实例,正如 Jamie 在 cmets 中提到的那样。

【讨论】:

    猜你喜欢
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多