在NSLayoutConstraint上设置运行时属性

保罗·帕特森

我想identifier在接口构建器中对一些约束设置属性。我以前User Defined Runtime AttributesNSView实例中使用过IB中表,没有任何问题,但是对于约束类,我做的事情完全相同。当我尝试使用代码访问标识符时,它仅返回null,而不是我在表Value栏中输入的字符串我想这可能与xib加载机制有关,但我希望有人能够确定地说出问题所在。

IB --> Identity Inspector --> User Defined Runtime Attributes

  1. 关键路径:标识符
  2. 类型:字符串
  3. :TextViewWidthConstraint

稍后的IBAction方法:

NSLog(@"%@", self.widthCon.identifier);

// --> (null)
TheNiftyCoder

NSLayoutConstraint实现似乎基本存在问题。在NSLayoutConstraint上创建一个Category并覆盖一些用于调试目的的方法,结果如下:

由于以下原因,必须在编译期间通过Xcode剥离运行时属性:

  1. 被覆盖的KVC方法NSLayoutCategory内setValue:forKey:setValue:forKeyPath:并且setValue:undefinedKey:永远不会获取调用。

  2. 覆盖的方法setIdentifier:将被调用,但从接收不到运行时属性部分传递的值

  3. 提供无效键不会像在其他任何对象(例如NSView)上那样产生错误。

    2014-03-19 08:25:52.806 LayoutTestApp [13733:303] [setValue:forUndefinedKey:]:此类不符合键testKey的编码键值。

此外,在Xcode中也可以忽略在NSLayoutConstraint上设置自定义类(永远不会调用自定义类的init方法)。看起来Apple禁用了NSLayoutConstraints的运行时属性和自定义类功能,或者只是一个错误。两种方式:通过运行时属性设置标识符很可能无法在atm上正常工作。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在代码中设置“用户定义的运行时属性”

来自分类Dev

在运行时设置设置

来自分类Dev

在运行时动态创建和设置类的成员/属性

来自分类Dev

在运行时更改persistenceUnit属性

来自分类Dev

以编程方式设置用户定义的运行时属性

来自分类Dev

运行时错误:1004无法设置范围类的FormulaArray属性

来自分类Dev

在SpringApplicationBuilder()上设置运行时属性

来自分类Dev

UITextFiled的运行时属性

来自分类Dev

在运行时更改CoreNLP设置

来自分类Dev

在运行时更改字段属性

来自分类Dev

在Win7上使用IE11的Javascript运行时错误:无法设置未定义或空引用的属性“已禁用”

来自分类Dev

在运行时更改MPI设置

来自分类Dev

在运行时设置UICollectionView框架

来自分类Dev

设置器上的StackOverflow运行时错误

来自分类Dev

运行时错误:前提条件失败:属性无法设置初始值

来自分类Dev

如何在运行时使用循环获取属性设置的当前值

来自分类Dev

在运行时添加用户设置属性(Winforms)

来自分类Dev

在运行时jQuery上更改ID属性

来自分类Dev

在NSLayoutConstraint上设置运行时属性

来自分类Dev

在运行时无法读取属性

来自分类Dev

在运行时绑定属性

来自分类Dev

在Win7上使用IE11的Javascript运行时错误:无法设置未定义或空引用的属性“已禁用”

来自分类Dev

在Heroku上运行时,在beforeSave上设置一些Parse.User属性

来自分类Dev

在运行时设置 PetaPoco TableName 属性

来自分类Dev

对象属性的运行时动态

来自分类Dev

Eclipse - 在“在服务器上运行”中选择服务器与设置“目标运行时”

来自分类Dev

未捕获的类型错误:在浏览器上运行时无法将属性“值”设置为 null

来自分类Dev

在运行时访问 DisplayClass 对象上的属性

来自分类Dev

运行时所需的 Typescript 类属性

Related 相关文章

  1. 1

    在代码中设置“用户定义的运行时属性”

  2. 2

    在运行时设置设置

  3. 3

    在运行时动态创建和设置类的成员/属性

  4. 4

    在运行时更改persistenceUnit属性

  5. 5

    以编程方式设置用户定义的运行时属性

  6. 6

    运行时错误:1004无法设置范围类的FormulaArray属性

  7. 7

    在SpringApplicationBuilder()上设置运行时属性

  8. 8

    UITextFiled的运行时属性

  9. 9

    在运行时更改CoreNLP设置

  10. 10

    在运行时更改字段属性

  11. 11

    在Win7上使用IE11的Javascript运行时错误:无法设置未定义或空引用的属性“已禁用”

  12. 12

    在运行时更改MPI设置

  13. 13

    在运行时设置UICollectionView框架

  14. 14

    设置器上的StackOverflow运行时错误

  15. 15

    运行时错误:前提条件失败:属性无法设置初始值

  16. 16

    如何在运行时使用循环获取属性设置的当前值

  17. 17

    在运行时添加用户设置属性(Winforms)

  18. 18

    在运行时jQuery上更改ID属性

  19. 19

    在NSLayoutConstraint上设置运行时属性

  20. 20

    在运行时无法读取属性

  21. 21

    在运行时绑定属性

  22. 22

    在Win7上使用IE11的Javascript运行时错误:无法设置未定义或空引用的属性“已禁用”

  23. 23

    在Heroku上运行时,在beforeSave上设置一些Parse.User属性

  24. 24

    在运行时设置 PetaPoco TableName 属性

  25. 25

    对象属性的运行时动态

  26. 26

    Eclipse - 在“在服务器上运行”中选择服务器与设置“目标运行时”

  27. 27

    未捕获的类型错误:在浏览器上运行时无法将属性“值”设置为 null

  28. 28

    在运行时访问 DisplayClass 对象上的属性

  29. 29

    运行时所需的 Typescript 类属性

热门标签

归档