【问题标题】:Iphone uibutton click feeliphone uibutton 点击​​手感
【发布时间】:2014-08-01 04:07:49
【问题描述】:

我的问题是我必须在点击时更改 UIButton 背景色,然后导航控制器移至下一页。

  1. 我不需要使用NSTimer来显示按钮效果。
  2. 我需要为我的应用程序的所有按钮应用此效果。
  3. 我无法让我的下一个视图控制器等待显示此效果。

【问题讨论】:

标签: objective-c uiviewcontroller uibutton navigationcontroller


【解决方案1】:

如果我理解您的要求正确,您希望应用程序中的所有按钮在单击按钮时立即更改背景颜色。您可以使用UIButton 的appearance 来执行此操作。

简而言之,UIAppearance 使开发人员可以轻松地在整个应用程序中保持视觉效果的一致性。有关它是什么以及如何使用它的更多信息,请click here。

这是一个例子:

//Inside of an IBAction that a button clicks
[[UIButton appearance] setBackgroundColor:[UIColor redColor]];

【讨论】:

  • 感谢您的回答。我已更改按钮单击的背景颜色并调用下一个视图控制器。但由于在用户看到这些更改之前加载了下一页,因此无法看到更改。
  • 我已经用更多信息和参考更新了我的答案。您是说用户看不到第一个视图控制器上的更改,因为第二个视图控制器加载速度如此之快?如果是这样,您将不得不延迟视图控制器的转换。
  • 代码:-(void) LoginAction:(UIButton *) button { button.backgroundColor=[uicolor redcolor]; [self.view addSubview:overlayView]; [NSTimer scheduleTimerWithTimeInterval:0.01 目标:自我选择器:@selector(LoginActionTimer:) userInfo:nil repeats: NO]; }
  • //登录定时器动作 -(void) LoginActionTimer:(NSTimer *) t { UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; LoginViewController *viewController = (LoginViewController *)[storyboard instantiateViewControllerWithIdentifier:@"loginpage"]; [self.navigationController pushViewController:viewController 动画:NO]; }
  • 您真的应该将其发布为对您问题的编辑。这段代码有什么问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-29
  • 1970-01-01
  • 2012-05-10
  • 1970-01-01
相关资源
最近更新 更多