Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在运行时检查UILabel的帧大小?_Ios_Objective C_Uilabel - Fatal编程技术网

Ios 如何在运行时检查UILabel的帧大小?

Ios 如何在运行时检查UILabel的帧大小?,ios,objective-c,uilabel,Ios,Objective C,Uilabel,我知道如何调试和查看日志中的值,问题是其中一个UILabel会根据程序中的某些逻辑更改其位置。例如,如果我有五个UIL标签: A B C D E 另一个顺序是: A B E 问题是当我调试时,标签E的帧值在两个序列中都是相同的,这绝对不是事实。如果UILabel更改其位置,是否可以在运行时检查UILabel帧值。谢谢。当然可以:CGRect frame=label.frame。你的代码在哪里?你在使用标签的自动布局吗?如果您使用的是自动布局,我认为除了ViewDebugging之外没有其他方法。

我知道如何调试和查看日志中的值,问题是其中一个UILabel会根据程序中的某些逻辑更改其位置。例如,如果我有五个UIL标签:

A

B

C

D

E

另一个顺序是:

A

B

E


问题是当我调试时,标签E的帧值在两个序列中都是相同的,这绝对不是事实。如果UILabel更改其位置,是否可以在运行时检查UILabel帧值。谢谢。

当然可以:
CGRect frame=label.frame。你的代码在哪里?你在使用标签的自动布局吗?如果您使用的是自动布局,我认为除了ViewDebugging之外没有其他方法。通过打开ViewDebugging发布屏幕截图。实际上有很多方法可以做到这一点-在正确的位置使用
NSLog
,使用断点暂停程序执行,然后使用调试器命令打印或使用视图调试器。确定实际问题是程序后面部分的一种情况,如果序列为第二种类型,则标签E的帧设置为标签C的帧,因此,当我通过设置断点检查时,帧值看起来是正确的,但显示方式会有所不同。