如何禁用深色透明色的背景视图?
Posted
技术标签:
【中文标题】如何禁用深色透明色的背景视图?【英文标题】:How to disable background view with dark transparent color? 【发布时间】:2015-02-14 13:25:26 【问题描述】:我为从屏幕底部滑动的 uiview 创建了动画,但我希望在视图滑动到屏幕后禁用 bg 视图并使用这样的深色 bg:
我该怎么做?此外,当我点击深色透明视图时,我希望它滑出并启用 bg 视图。
这就是我做滑动动画的方式:
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
if (buttonIndex == 0)
else if (buttonIndex == 1)
self.slidingView.hidden = NO;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
self.slidingView.frame = CGRectMake(0,0,320,20);
self.view.frame = CGRectMake(0,0,320,460);
[UIView commitAnimations];
self.view.userInteractionEnabled = NO;
谢谢
【问题讨论】:
【参考方案1】:我在最近的一个项目中做了类似的事情。 不要只添加一个包含选取器的视图,而是添加一个父视图。 因此,您将添加到视图控制器的是一个视图,该视图将与您的屏幕大小相同,具有透明的黑色背景,然后使用您的选择器和您的自定义动画向其中添加一个子视图。
另一种方法是在您的视图控制器中拥有一个最初隐藏的视图,当您显示您的选择器视图时您会显示它。
如果你能分享你的代码,我可以更好地帮助你。
编辑:
-在您的视图控制器中添加一个具有相同宽度和高度的视图,具有前导、顶部、尾随和底部约束。
-为这个视图提供一个出口(例如:backgroundView)
-在您的viewDidLoad:
中添加以下行:
self.backgroundView.hidden=YES;
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(yourcodeToCloseTheView)];
singleTap.numberOfTapsRequired = 1;
[self.backgroundView addGestureRecognizer:singleTap];
-在你的actionSheet:clickedButtonAtIndex:
中添加这一行:
self.backgroundView.hidden=NO;
只需确保 backgroundView 在 IB 中的 pickerView 后面即可。
希望有帮助
【讨论】:
谢谢哥们,我编辑了我的问题并添加了滑动视图的方法,它是一种操作表方法,因为滑动此视图取决于操作表按钮。我还可以分享哪些代码来帮助您帮助我:)?我明白了你所说的,但如果你能用一些代码分享它会有所帮助。顺便说一句,我正在使用 xibs 如果你能在 github 上分享你的项目或者......那就太好了 很遗憾我不能在 github 上分享它,但我可以分享你需要的代码片段,让我知道你缺少什么数据 :)以上是关于如何禁用深色透明色的背景视图?的主要内容,如果未能解决你的问题,请参考以下文章