【问题标题】:UIBarButtonItem on UINavigationBar not responding on iPhone 5UINavigationBar 上的 UIBarButtonItem 在 iPhone 5 上没有响应
【发布时间】:2012-12-27 11:29:25
【问题描述】:

我有一个问题 - 我的应用被拒绝了 3 次,原因相同,“选择操作按钮不会产生操作”。苹果表示,“分享按钮”效果不佳。 在我的设备(ipod 4 + ipod 5)和 iphone 模拟上,共享按钮可以工作,并打开一个包含 3 个选项的操作表视图,它们都可以正常工作。

分享按钮是一个 UIBarButtonItem 并且站在 UINavigationBar 上。 后退按钮和星号按钮效果很好,但分享按钮仍然没有响应,也没有产生任何动作。

这是我的应用截图。

这是我的按钮代码:

UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeCustom];
    rightButton.frame = CGRectMake(0, 0, 33, 22);
    [rightButton setBackgroundImage:[UIImage imageNamed:@"btn_share.png"] forState:UIControlStateNormal];
    [rightButton setBackgroundImage:[UIImage imageNamed:@"btn_shareSelect.png"] forState:UIControlStateHighlighted];
    [rightButton addTarget:self action:@selector(share) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithCustomView:rightButton];
    self.navigationItem.rightBarButtonItem=rightItem;

我能做什么?有没有办法解决这个问题?

【问题讨论】:

  • 您正在测试哪些 iOS 版本?是否有任何机会与导航栏关联的 UITapGestureRecognizer?
  • iOS 5 兼容性如何?你试过在iOS5.0模拟器上编译吗?
  • 另外 - 请发布处理“共享”操作的代码。了解您如何显示 UIActionSheet 非常重要。
  • 嗨 Sigalit,我的应用因同样的原因被拒绝。你能告诉我你是如何解决这个问题的吗??

标签: ios objective-c xcode appstore-approval iphone-5


【解决方案1】:

你能自己重现这个问题吗?这将是一个好的开始。

我认为您可能会遇到问题,因为您将目标添加到 UIButton 自定义视图而不是实际的栏按钮项。

所以请尝试在UIbarButtonItem 本身上设置动作和目标属性。请务必删除 rightButton addTarget 行。

如果这不起作用,我会尝试不将UIbutton 用于自定义视图。

顺便说一句,你为什么不直接使用UIBarButtonItem initWithBarButtonSystemItem:我认为“动作”风格会给你带来你想要的外观,更轻松。

【讨论】:

  • 我不同意 - 在这种情况下应该调用 UIButton 定义的操作
  • 我建议他使用不太复杂且更明显的设置。
  • 我同意简单更好,但是定义自定义栏按钮项的简单方法并不多——在她的例子中,他们设计了一个特殊的按钮图形并且他们想使用它.
  • IKWYM,但对我来说它看起来像一个操作按钮!
猜你喜欢
  • 2012-09-28
  • 1970-01-01
  • 2021-03-04
  • 2016-07-25
  • 1970-01-01
  • 2015-01-17
  • 2011-10-04
  • 2012-03-12
  • 1970-01-01
相关资源
最近更新 更多