为啥手机上的无障碍会自己关闭?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥手机上的无障碍会自己关闭?相关的知识,希望对你有一定的参考价值。

若使用的是vivo手机,为了避免开启无障碍/辅助功能后导致高耗电,会自动关闭节省电量。
关闭方法:进入手机设置--系统管理/更多设置--关于手机或进入设置--我的设备--更多参数,查看一下手机版本:
iQOO (Monster) UI &和 Funtouch OS 3.2以上:
1、屏幕底部中间区域上滑并停留/上滑进入后台,将应用(卡片/图标)下拉--点击锁状图标,即可将软件加入一键加速白名单;
2、加入后台高耗电:进入手机设置--电池--后台高耗电/后台高耗电管理/后台耗电管理--(选择对应软件)--开启“后台高耗电”/允许后台高耗电。
Funtouch OS 3.0:
1、加入一键加速白名单:点击后台键-移动到要加入白名单的软件界面-下划一下即可。
2、加入后台高耗电:设置-电池-后台高耗电-打开对应软件开关。
Funtouch OS 3.0 lite版及以下:
1、加入一键加速白名单:从底部从下往上划-长按软件图标-加入白名单或i管家-右上角齿轮图标-加速白名单-将软件加入白名单。
2、加入后台高耗电:i管家-省电管理-后台高耗电。
参考技术A 手机一开启无障碍是没法正常使用的所以有时手机系统会强制关闭无障碍功能。

为啥我的 UITableView 单元格上的这个按钮会重新绘制自己?

【中文标题】为啥我的 UITableView 单元格上的这个按钮会重新绘制自己?【英文标题】:Why does this button on my UITableView cell repaint itself?为什么我的 UITableView 单元格上的这个按钮会重新绘制自己? 【发布时间】:2011-06-15 18:22:20 【问题描述】:

我的表格视图单元格上有一个按钮。 但是滚动按钮后看起来像这样:

看起来有时一个按钮在另一个之上。 我怎么解决这个问题?

这是我在cellForRowAtIndexPath 中的按钮代码

        - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

Chapter *chapter = nil ;
UITableViewCell *cell = nil;
NSUInteger row = [indexPath row];
switch (indexPath.section) 
    case 0: 
        chapter = [[einfuerung objectAtIndex:row]retain];
        break;
    case 1: 
        chapter = [[vertiefung objectAtIndex:row]retain];
        break;
    case 2: 
        chapter = [[spezial objectAtIndex:row]retain];
        break;



if ([self filesFromFolderWithChapter:chapter] > 1) 


    static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";
    cell = [tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier];
    if (cell == nil) 
     
        cell = [[[UITableViewCell alloc]
                initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:SimpleTableIdentifier] autorelease];
    
   
else 

    static NSString *ButtonTableIdentifier = @"ButtonTableIdentifier";
    cell = [tableView dequeueReusableCellWithIdentifier: ButtonTableIdentifier];
    if (cell == nil) 
     
        cell = [[[UITableViewCell alloc]
                initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ButtonTableIdentifier] autorelease];
    





    NSString *firstString;
    NSString *lastString;

    switch (indexPath.section) 
        case 0: 
            chapter = [[einfuerung objectAtIndex:row]retain];
            [dataInstance extractFromString: [chapter title]: &firstString: &lastString];
            cell.textLabel.text = firstString; 
            cell.detailTextLabel.text = lastString;
            cell.backgroundColor = [UIColor whiteColor];


            break;
        case 1: 
            chapter = [[vertiefung objectAtIndex:row]retain];
            [dataInstance extractFromString: [chapter title]: &firstString: &lastString];
            cell.textLabel.text = firstString; 
            cell.detailTextLabel.text = lastString;
            cell.backgroundColor = [UIColor whiteColor];

            break;
        case 2: 
            chapter = [[spezial objectAtIndex:row]retain];
            [dataInstance extractFromString: [chapter title]: &firstString: &lastString];
            cell.textLabel.text = firstString; 
            cell.detailTextLabel.text = lastString;
            cell.backgroundColor = [UIColor whiteColor];

            break;
    



if ([self filesFromFolderWithChapter:chapter] > 1) 



        //VersionButton *button = [VersionButton buttonWithType:UIButtonTypeRoundedRect];
        VersionButton *button = [[VersionButton alloc]initWithFrame:CGRectMake(500, 15, 150, 30) andTitle:@"ältere Versionen"];
        button.chapter = chapter;
        [button addTarget:self action:@selector(versionTapped:) 
         forControlEvents:UIControlEventTouchUpInside];
        [cell.contentView addSubview:button];   
        [button release];


    [chapter release];

return cell;


【问题讨论】:

【参考方案1】:

首先,查看整个 cellForRowAtIndexPath 函数会很有帮助。

您似乎没有正确考虑单元重用。如果您是从头开始创建一个单元格,而不是在重复使用一个单元格时,您应该只向您的单元格添加一个按钮。如果一个单元格被重复使用,您应该有办法访问它已有的按钮并对其进行任何必要的更改。

【讨论】:

添加了整个代码。我有两个版本的单元格,一个有按钮,一个没有。但是如何访问重复使用的单元格的按钮?我必须子类化吗? 我会设置按钮的标签值。 myButton.tag = 2; 然后你可以通过向重复使用的单元格询问其带有标签#2 的子视图来再次找到该按钮,这将是按钮(参见 UIView 文档)。 另外,我不知道您的章节类是如何设置的,但是当您从 vertifung 数组中拉出它们时,您可能不需要保留。您可能正在泄漏内存。 好的,谢谢。但我想我只需要查看单元格并检查是否有子视图。然后我只需要用新章节替换按钮中的章节。这应该可以解决问题,不是吗? @leaking 我需要保留。我以前没有它,但我遇到了分段错误,在日志中什么也没告诉我。【参考方案2】:

您是否在其他地方调用 setNeedsDisplay 会导致它调用 drawRect?

【讨论】:

以上是关于为啥手机上的无障碍会自己关闭?的主要内容,如果未能解决你的问题,请参考以下文章

手机无障碍怎么开启,如何设置?

我手机里面有些软件让我打开启无障碍功我打开了,为啥还是没有用?

手机出现无障碍,而且点了屏幕没反应怎么办?

无障碍模式怎么滑动屏幕

手机无障碍打不开怎么办

安卓手机开启无障碍功能与悬浮窗的方法