【问题标题】:Create Overlay above UIButton in iOS?在 iOS 中的 UIButton 上方创建叠加层?
【发布时间】:2016-03-17 06:46:04
【问题描述】:

如何在 iOS 中的 UIButton 上方创建叠加层?

在我的项目中有 6 个 UIButton。

对于每个按钮,我需要在该 UIButton 上方有一个覆盖指令,这意味着 UIButton 和覆盖都应该可见。

一旦用户点击 UIButton 上方的叠加层,叠加层将被移除/隐藏,并且 UIButton 应该是可见的。

我怎样才能做到这一点?

【问题讨论】:

标签: ios objective-c uiview uibutton overlay


【解决方案1】:

UIButtonUIView 的子类。这意味着,您可以只使用addSubview:

[myButton addSubview:myOverlay];

要移除覆盖层,请将手势识别器添加到覆盖层。

【讨论】:

【解决方案2】:

我将向您展示如何为一个按钮创建叠加层并将其删除。

#define TAG 1234    //random number to identify the view overlaying the UIButton
UIView *view = [[UIView alloc] initWithFrame:button.bounds];
view.backgroundColor = [UIColor grayColor];
view.tag = TAG;
[button addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
[button addSubview:view];

在视图的 .m 文件中写入这个外部 viewDidLoad 方法 控制器

- (IBAction)btnClicked:(id)sender
{
   //removing overlay on button click
   UIView *view = [sender viewWithTag:TAG];
   [view removeFromSuperview];
}

我希望这能解决您的问题。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2023-04-03
  • 2022-01-09
  • 1970-01-01
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多