iOS如何实现控制屏幕常亮不变暗
更新:HHH   时间:2023-1-8


这篇文章将为大家详细讲解有关iOS如何实现控制屏幕常亮不变暗,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

示例代码

//设置屏幕常亮
[UIApplication sharedApplication].idleTimerDisabled = YES;
//取消设置屏幕常亮
[UIApplication sharedApplication].idleTimerDisabled = NO;
 
//设置屏幕常亮
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
//取消设置屏幕常亮
[[UIApplication sharedApplication] setIdleTimerDisabled:NO];

但是有些控件的存在是不会锁屏的,比如AVPlayer,播放的时候是不会锁屏的,但是暂停或者停止播放之后系统会自动关闭常亮,正好与我们的设计冲突,所以我这里做了一个监听,如果屏幕锁屏被关,立马把它打开,最后要记得移除监听并且关闭锁屏。

//监听锁屏变化
[[UIApplication sharedApplication] addObserver:self forKeyPath:@"idleTimerDisabled" options:NSKeyValueObservingOptionNew context:nil];
 
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
 // setToast(@"值改变操作");
 if (![UIApplication sharedApplication].idleTimerDisabled) {
 [UIApplication sharedApplication].idleTimerDisabled = YES;
 }
}
 
 
- (void)dealloc{
 [[UIApplication sharedApplication] removeObserver:self forKeyPath:@"idleTimerDisabled"];
 [UIApplication sharedApplication].idleTimerDisabled = NO;
}

关于“iOS如何实现控制屏幕常亮不变暗”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

返回移动开发教程...