传感网灯闪烁代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了传感网灯闪烁代码相关的知识,希望对你有一定的参考价值。

参考技术A 代码seekbar。
核心在于使用的类改为PWMLED,不再是LED类了。在命令行界面运行python3 LED.pwn.py之后,可以看到LED灯全灭、半亮、全亮,间隔1s,交替运行。不写一行代码点亮LED灯在命令行界面使用pinout命令,输出各针脚定义。5v电压接1kΩ的电阻,接LED长脚正极,LED负极接(6)号GND地线负极,这样LED灯直接就会点亮,不写一行代码。

[self.tableview reloadData];导致闪烁

【中文标题】[self.tableview reloadData];导致闪烁【英文标题】:[self.tableview reloadData]; causes flickering 【发布时间】:2014-04-26 14:22:12 【问题描述】:

问题是 UI 出现然后更新:产生闪烁效果。

我希望用户界面只在用户进入应用程序时更新一次,因此我已经在 ViewDidLoad 中重新加载。这是代码。任何帮助如何消除这种闪烁...一些代码示例会有所帮助。

- (void)viewDidLoad  

[super viewDidLoad];

self.myTableView.dataSource = self;
self.myTableView.delegate = self;

PFQuery * getCollectionInfo = [PFQuery queryWithClassName:@"Collection"];   // make query

[getCollectionInfo orderByDescending:@"updatedAt"];
[getCollectionInfo setCachePolicy:kPFCachePolicyCacheThenNetwork];

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^
    [getCollectionInfo findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) 
        if (!error) 
            CollectionQueryResult = (NSMutableArray *)objects;
                [self.tableView reloadData];


            // whenevr get result
        
        else
            //no errors
        


    ];
);

【问题讨论】:

您的问题是什么,请详细说明您的问题。 问题是 UI 出现然后更新:产生闪烁效果。 我需要更新单元格,而不需要完整的 TableView 闪烁 .. 我提到了这个 ***.com/questions/11631104/… 但没有帮助 【参考方案1】:

你为什么不简单地调用 reloadSections 方法而不是 [self.tableView reloadData];

[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationNone];

【讨论】:

tableview 上的图像仍然在闪烁。【参考方案2】:

参考cellForRowAtIndexPath委托方法。您可能正在执行一些可能导致轻弹的操作。就我而言,我正在设置带有动画的图像视图的图像。所以每当我重新加载表格时,它都会因为那个动画而闪烁。

我删除了那个动画并为我工作..

【讨论】:

【参考方案3】:

希望以下几行可以帮助您解决延迟和闪烁问题

dispatch_async(dispatch_get_main_queue()
                   , ^
 [self.tableView reloadData];

 );

【讨论】:

其实tableview默认只重新加载可见单元格 我知道我需要这样做。 '[self.tableView reloadRowsAtIndexPaths:[self.tableView indexPathsForVisibleRows] withRowAnimation:UITableViewRowAnimationNone];' 但这会产生错误: 'NSInternalInconsistencyException',原因:'无效更新:第 0 节中的行数无效。 这将停止与后台线程相关的崩溃,但不会停止刷新闪烁【参考方案4】:

您的下载是异步的,因此在显示视图之前不会完成。因此,CollectionQueryResult 中的任何内容都会显示出来。

你可以:

    清除 CollectionQueryResult 以便在您获得更新之前不会填充表格 比较CollectionQueryResultobjects,然后只更新数据发生变化的可见单元格(在设置CollectionQueryResult之前)

请注意,对于选项 2,您还需要比较 CollectionQueryResultobjects 的计数,然后根据需要从表视图中插入/删除行。选项 2 的重点是不要调用reloadData,所以你需要做更多的工作......

如果您获得可见单元格并直接更新它们,您也可以避免调用reloadRowsAtIndexPaths(这样可以避免发生任何动画)。见cellForRowAtIndexPath:

【讨论】:

我知道我需要这样做。 [self.tableView reloadRowsAtIndexPaths:[self.tableView indexPathsForVisibleRows] withRowAnimation:UITableViewRowAnimationNone]; 但这会产生错误: 'NSInternalInconsistencyException',原因:'无效更新:无效第 0 节中的行数。 如何处理这个错误,因为我没有通过。手动行数 委托方法中返回的行数。如果你更新CollectionQueryResult那么你需要根据CollectionQueryResult的新旧内容的不同来调用reloadRowsAtIndexPathsinsertRowsAtIndexPathsdeleteRowsAtIndexPaths

以上是关于传感网灯闪烁代码的主要内容,如果未能解决你的问题,请参考以下文章

GPIO 结合 OMX Player 触发时播放不同的视频

海尔1.5p变频空调故障代码F12是啥故障?

在没有 R/W 保护的情况下闪烁代码后 STM32 闪烁禁用

css可以让网页文字闪烁吗?

echarts局部刷新地图的时候出现白屏闪烁?怎么解决这个闪烁,最好附上代码

VBox拖动闪烁