如何解决如何更改弹出框背景色
| 我的问题是: 我有一个popOver,当它弹出时,我希望其他视图的颜色变为灰色。 在弹出窗口外点击后,弹出窗口将消失,其他视图的颜色将恢复为正常。 有人可以帮助我吗?非常感谢。解决方法
好的,我找到了解决方案。
我用了UIPopoverControllerDelegate
里面有一个方法叫做:
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
每次显示弹出窗口时,都会在背景顶部添加一个UIImageView。并且通过设置其alpha值,背景可能不清晰。
每当用户在外部轻击弹出窗口时,都会调用我上面提到的方法,并且在该方法内部只需删除我们刚才添加的UIImageView。完成了!
,您需要循环所有子视图,识别不透明视图,然后执行所需的操作!
for (UIView *v in [self.view allSubViews])
{
NSLog(@\"%@\",[v description] );
// examples
if (v.opacity <= 1) { }
if([v isKindOfClass:[UIView class]]) { }
// etc
}
希望这可以帮助。
,就像一个建议一样,您可以问自己是否最好以模态方式显示视图而不是弹出窗口。我说这是因为您要描述的行为是模式视图的经典。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。