首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Objective-C:状态栏Alpha

Objective-C:状态栏Alpha
EN

Stack Overflow用户
提问于 2015-10-18 07:37:06
回答 3查看 199关注 0票数 0

我正在创建一个自定义警报视图,并将此视图的背景设置为主要为alpha黑色,以使背景视图看起来有点褪色。除了状态栏之外,这是有效的(它保持完全相同)。

使用当前的苹果AlertView框架,当显示警告视图时,整个背景会稍微褪色。如何复制此功能?

编辑

没有一个答案能为我解决这个问题。下面是我为打开AlertView所做的工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[self.navigationController.view.superview addSubview:self.alertViewController.view];

然后从viewDidLoad()中的自定义警报视图控制器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
self.view.backgroundColor = COLOR_BLACK_ALPHA;
EN

回答 3

Stack Overflow用户

发布于 2015-10-18 07:48:32

您不能更改状态栏的alpha,只能设置其外观。

UIAlertView是苹果公司的一个组件,因此它使用私有应用程序接口来做你不能做的事情。

我的建议是,在显示视图之前,使用下面的内容为其下面的屏幕创建一个快照(来源:Capture iPhone screen with status bar included

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UIView *screenshotView = [[UIScreen mainScreen] snapshotViewAfterScreenUpdates:NO];

然后移除状态栏,并放置图像,模糊图像(可以使用模糊视图完成,或者只是作为图像的效果,然后显示您的视图。

如果你有任何问题,请提出来。

票数 0
EN

Stack Overflow用户

发布于 2015-10-18 08:02:27

您可以通过在添加自定义警报视图之前在Window中添加自定义覆盖来完成此操作,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UIWindow *aMainWindow = [[UIApplication sharedApplication] keyWindow];
self.grayOverlayView = [[MyCustomAlertViewOverlay alloc] initWithFrame:aMainWindow.bounds];
self.grayOverlayView.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.5];
[aMainWindow addSubview:self.grayOverlayView];
[aMainWindow addSubview:self.customAlertView];

下面是覆盖图的外观:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@implementation MyCustomAlertViewOverlay


- (void)drawRect:(CGRect)iRect {
        CGContextRef aContext = UIGraphicsGetCurrentContext();
        CGContextSaveGState(aContext);
        CGColorRef aGradientStartColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0].CGColor;
        CGColorRef aGradientEndColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.6].CGColor;
        NSArray *aColors = [NSArray arrayWithObjects:(__bridge id)aGradientStartColor, (__bridge id)aGradientEndColor, nil];
        CGFloat rLocations[2] = {0.0 , 0.5};
        CGColorSpaceRef rColorSpace = CGColorSpaceCreateDeviceRGB();
        CGGradientRef rGradient = CGGradientCreateWithColors(rColorSpace, (CFArrayRef) aColors, rLocations);
        CGColorSpaceRelease(rColorSpace);
        CGPoint aCenter = CGPointMake(iRect.origin.x + iRect.size.width / 2, iRect.origin.y + iRect.size.height / 2);
        CGContextDrawRadialGradient(aContext, rGradient, aCenter, 0, aCenter,  iRect.size.height, kCGGlyphMax);
        CGContextSetRGBFillColor(aContext, 0, 0, 0, 0.0);
        CGGradientRelease(rGradient);
        CGContextFillRect(aContext, iRect);
        CGContextRestoreGState(aContext);
}
票数 0
EN

Stack Overflow用户

发布于 2015-10-18 08:11:58

这个怎么样?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UIWindow *customWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
customWindow.windowLevel = UIWindowLevelStatusBar+1;
customWindow.hidden = NO;
customWindow.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.7];
[customWindow makeKeyAndVisible];

现在在customWindow中,你可以添加任何你想要的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33195465

复制
相关文章
【Alpha系列】之alpha#1
Alpha是投资者获得与市场波动无关的回报,一般用来度量投资者的投资技艺。比如投资者获得了12%的回报,其基准获得了10%的回报,那么Alpha或者价值增值的部分就是2%. 小编将推出一系列Alpha策略,希望能起到抛砖引玉的作用。如有不足之处,欢迎批评指正~~ 策略设计 在这里就不对alpha作介绍了,想了解alpha的读者可以去看看前两天Thomas大大推的《多因子系列之二》~ 那我们就直接从策略开始吧。作为alpha系列的第一篇,我们先来实现一个简单的Alpha策略。 首
量化投资与机器学习微信公众号
2018/01/29
8870
【Alpha系列】之alpha#1
Alpha Blending and Alpha Channel on Windows Mobile
      2007年的时候,Alex在《Compelling UI's in NetCF anybody?》一文中,讲述了windows mobile 5平台上如何利用AlphaBlend做很酷的透
ShiJiong
2018/01/11
1.1K0
Alpha Blending and Alpha Channel on Windows Mobile
Alpha来自哪里?
Warren Buffett(巴菲特), George Soros(索罗斯)和Ray Dalio(达利奥)他们之间是不能很好地完成彼此的工作滴。
量化投资与机器学习微信公众号
2019/07/17
1.4K0
Alpha来自哪里?
Alpha版本
Alpha版本的产品的严重缺陷基本完成修正并通过复测,仍然需要完整的功能测试,但是可以满足一般需求。
用户7657330
2020/08/14
5280
图像处理——alpha融合
其中a为混合透明度取值范围[0,1]之间, RGB3为目标像素值, RGB1与RGB2的值分别来自两张不同的图像。
瓜大三哥
2018/07/30
2.2K0
图像处理——alpha融合
YUV Alpha Blending
Alpha-Blending,是按照“Alpha”混合向量的值来混合源像素和目标像素的一种图像处理技术
雪月清
2020/06/23
3.1K0
iOS开发·状态栏设置技巧2:更新状态栏
info.plist文件中有个一项:View controller-based status bar appearance:
陈满iOS
2018/10/12
1.7K0
iOS开发·状态栏设置技巧2:更新状态栏
介绍 Zapper Alpha Leaks
DeFi 感觉既是金融的未来,也是游戏的未来——尤其是金钱游戏。鉴于我们推出社区拥有的协议的速度,即使是我们当中最退化的猿类也很难跟上新协议、应用程序和农场的发布。
公众号---人生代码
2021/10/12
6810
介绍 Zapper Alpha Leaks
JankStats 推出 alpha 版本
性能问题很难调试。我们常常不清楚要从何下手、使用何种工具、用户遇到了什么问题,以及那些问题在现实的设备上有何表现。
Android 开发者
2022/03/08
1.1K0
Objective-C笔记
为什么突然要搞ObjectiveC?因为清明比较闲,两三天正好用来学习下iOS的逆向分析。 逆向的第一步当然是先从正向了解,否则给你源代码都看不懂,反编译出来的就更别提了。 因此本篇文章作为简单学习ObjC的记录,不会涉及太深入的语法特性,简而言之就是——够用就行。
evilpan
2023/02/12
9580
Objective-C笔记
【Objective-C】Objective-C语言的动态性
动态类型指对象指针类型的动态性,具体地说就是使用id类型将对象的类型推迟到运行时才确定,由赋给它的对象类型决定该对象类型(说起来怎么这么绕口),也就是说id修饰的对象是动态类型对象,其他在编译期指明类型的为静态类型对象,所以开发中如果不是涉及到多态,尽量还是使用静态的类型,这样编写错误,编译器会提前查出问题,可读性更高一点。
编程怪才-凌雨画
2020/10/10
1.8K0
【Objective-C】Objective-C语言的动态性
Objective-C Copy
前提是实现NSCopying协议的copyWithZone:方法,否则会导致出现找不到selector的崩溃。**unrecognized selector sent to instance**
Helloted
2022/06/07
4780
Objective-C Copy
TiDB 1.1 Alpha Release
2018 年 1 月 19 日,TiDB 发布 1.1 Alpha 版。该版本对 MySQL 兼容性、SQL 优化器、系统稳定性、性能做了大量的工作。
PingCAP
2018/01/23
8430
动态情景Alpha模型
本文参考了一些国外的文献和国内的报告,需要后文提到的报告的在后台回复“DCAM”获取。
量化小白
2023/04/03
7240
动态情景Alpha模型
DataStore初体验(alpha版)
Jetpack DataStore是Google提出的一种数据存储解决方案,允许开发者使用key-value的方式或者是Protocol Buffers结构的数据对象。DataStore使用Kotlin协程和Flow异步来实现数据存储,旨在替换SharedPreference,目前还是alpha版本。
蜻蜓队长
2020/11/23
5830
Hyperledger Fabric 2.0 Alpha发布了!
随着近期Fabric v1.4.1 LTS的发布,Fabric项目目前工作的重点正在向1.4.1和2.0的正式版推进。v2.0.0是2019年的主要目标,重点集中在更多的新特性上,包括增强的链码生命周期管理,raft共识机制,以此来循序渐进地迁移至拜占庭容错算法,以及更强大的token支持。近期发布的2.0版本建议大家仅作为尝鲜之用,生产环境暂时不要考虑。
Tiny熊
2019/04/28
1.2K0
vuex-4.0.0-alpha.1 体验
新的vuex 基础使用及api 没要太大变化, 调用方式更灵活. 但在当前的新的vue 版本下, vuex 存在的意义不大.
copy_left
2020/04/24
2.4K2
[Qt]状态栏QStatusBar使用
原文链接:https://blog.csdn.net/humanking7/article/details/88065425
祥知道
2020/03/10
1.7K0
Android 沉浸式状态栏 以及 伪沉浸式状态栏
和尚我最近在调整页面状态栏的效果,主要包括沉浸式状态栏和伪沉浸状态栏(同事唠嗑给定义的玩的)。 前段时间整理过一篇 Android 沉浸式状态栏的多种样式,现在和尚我在稍微的补充一下,都是在日常应用中测试整理的。
阿策小和尚
2019/08/12
1.6K0
Android 沉浸式状态栏 以及 伪沉浸式状态栏
Selenium 4.0 Alpha更新实践
在Selenium 3中,EdgeDriver和ChromeDriver具有从RemoteWebDriver类继承的自己的实现。在Selenium 4中,Chromedriver和EdgeDriver继承自ChromiumDriver。ChromiumDriver类具有预定义的方法来访问开发工具。考虑下面的代码片段
FunTester
2019/12/17
8590

相似问题

更改状态栏alpha

225

获取Alpha值Objective-C

25

如何在iOS 13中更改状态栏Alpha?

30

Objective-C:使用元素数组设置alpha值

317

可以在iOS上控制状态栏的alpha吗?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文