使用AsyncDisplayKit添加自定义按钮

Hiwordls

我正在开发IOS应用程序。我使用Facebook AsyncDisplayKit库。我想要一个ASNodeCell Bu中的按钮,当块捕获时,我得到了“变量'node'未初始化。如何在ASNodeCell中添加UIButton或UIWebView控件。请帮助我

dispatch_queue_t _backgroundContentFetchingQueue;
    _backgroundContentFetchingQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);

dispatch_async(_backgroundContentFetchingQueue, ^{
    ASDisplayNode *node = [[ASDisplayNode alloc] initWithViewBlock:^UIView *{
        UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
        [button sizeToFit];
        node.frame = button.frame;
        return button;
    }];

                           // Use `node` as you normally would...
    node.backgroundColor = [UIColor redColor];

    [self.view addSubview:node.view];
});

在此处输入图片说明

斯梅斯

请注意,在您的情况下,无需使用UIButton,您可以将ASTextNode用作按钮,因为它是从ASControlNode继承的(对于ASImageNode也是如此)。在指南第一页的底部对此进行了描述:http : //asyncdisplaykit.org/guide/这也将允许您在后台线程而不是主线程上进行文本大小调整(示例中提供的块在主队列上执行)。

为了完整起见,我还将评论您提供的代码。

您正在尝试在创建块时设置该节点的框架,因此您正在尝试在其初始化期间在其上设置该框架。那会导致您的问题。我认为使用initWithViewBlock时实际上不需要在节点上设置框架:因为ASDisplayNode在内部使用该块直接创建其_view属性,该属性最终添加到视图层次结构中。

我还注意到您正在从后台队列中调用addSubview:在调用该方法之前,应始终分派回主队列。为了方便起见,AsyncDisplayKit还向UIView添加addSubNode:。

尽管我建议您在此处使用ASTextNode,但我已经更改了您的代码以反映更改。

dispatch_queue_t _backgroundContentFetchingQueue;
_backgroundContentFetchingQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);

dispatch_async(_backgroundContentFetchingQueue, ^{
ASDisplayNode *node = [[ASDisplayNode alloc] initWithViewBlock:^UIView *{
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    [button sizeToFit];
    //node.frame = button.frame; <-- this caused the problem
    return button;
}];

                       // Use `node` as you normally would...
node.backgroundColor = [UIColor redColor];

// dispatch to main queue to add to view
dispatch_async(dispatch_get_main_queue(),
    [self.view addSubview:node.view];
    // or use [self.view addSubnode:node];
  );
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Netbeans添加自定义外观

来自分类Dev

我可以使用Microsoft Band的SDK添加自定义按钮吗?

来自分类Dev

将自定义类添加到引导按钮

来自分类Dev

使用自定义ArrayAdapter将浮动操作按钮添加到ListFragment

来自分类Dev

使用CSS的自定义单选按钮

来自分类Dev

如何在TinyMCE 4中的自定义按钮上添加自定义类addButton()

来自分类Dev

对HTML按钮使用自定义图标

来自分类Dev

使用自定义属性添加CSS?

来自分类Dev

使用reduce()添加自定义对象

来自分类Dev

WooCommerce:为特定页面添加一个使用WordPress自定义字段添加到购物车旁边的自定义按钮

来自分类Dev

在材料表中添加自定义添加按钮

来自分类Dev

使用Apple自定义按钮登录

来自分类Dev

使用reduce()添加自定义对象

来自分类Dev

使用Netbeans添加自定义外观

来自分类Dev

Google地图:使用自定义按钮

来自分类Dev

使用按钮自定义滚动

来自分类Dev

如何使用xtype:“ datefield”单击“今日”按钮来添加自定义代码

来自分类Dev

使用ForegroundColorSpan添加自定义数据

来自分类Dev

如何使用添加的排序和自定义按钮创建数据表?

来自分类Dev

使用jquery定义如何在基于datatables插件的网格中添加自定义链接按钮

来自分类Dev

如何在WebView Android中使用“重新加载”按钮添加自定义错误消息?

来自分类Dev

对HTML按钮使用自定义图标

来自分类Dev

使用自定义光标类在ListView中添加删除按钮

来自分类Dev

使用Swift在自定义键盘中添加清除按钮功能

来自分类Dev

使用.draw()添加自定义参数

来自分类Dev

在 Jvectormap 中添加自定义按钮

来自分类Dev

如何使用 .NET Windows 窗体中的实体框架向 DataGridView 添加自定义按钮

来自分类Dev

使用下拉操作将自定义按钮添加到屏幕顶部

来自分类Dev

使用纸按钮的自定义元素

Related 相关文章

  1. 1

    使用Netbeans添加自定义外观

  2. 2

    我可以使用Microsoft Band的SDK添加自定义按钮吗?

  3. 3

    将自定义类添加到引导按钮

  4. 4

    使用自定义ArrayAdapter将浮动操作按钮添加到ListFragment

  5. 5

    使用CSS的自定义单选按钮

  6. 6

    如何在TinyMCE 4中的自定义按钮上添加自定义类addButton()

  7. 7

    对HTML按钮使用自定义图标

  8. 8

    使用自定义属性添加CSS?

  9. 9

    使用reduce()添加自定义对象

  10. 10

    WooCommerce:为特定页面添加一个使用WordPress自定义字段添加到购物车旁边的自定义按钮

  11. 11

    在材料表中添加自定义添加按钮

  12. 12

    使用Apple自定义按钮登录

  13. 13

    使用reduce()添加自定义对象

  14. 14

    使用Netbeans添加自定义外观

  15. 15

    Google地图:使用自定义按钮

  16. 16

    使用按钮自定义滚动

  17. 17

    如何使用xtype:“ datefield”单击“今日”按钮来添加自定义代码

  18. 18

    使用ForegroundColorSpan添加自定义数据

  19. 19

    如何使用添加的排序和自定义按钮创建数据表?

  20. 20

    使用jquery定义如何在基于datatables插件的网格中添加自定义链接按钮

  21. 21

    如何在WebView Android中使用“重新加载”按钮添加自定义错误消息?

  22. 22

    对HTML按钮使用自定义图标

  23. 23

    使用自定义光标类在ListView中添加删除按钮

  24. 24

    使用Swift在自定义键盘中添加清除按钮功能

  25. 25

    使用.draw()添加自定义参数

  26. 26

    在 Jvectormap 中添加自定义按钮

  27. 27

    如何使用 .NET Windows 窗体中的实体框架向 DataGridView 添加自定义按钮

  28. 28

    使用下拉操作将自定义按钮添加到屏幕顶部

  29. 29

    使用纸按钮的自定义元素

热门标签

归档