error: property 'frame' not found on object of type 'UIView *'

前端 未结 7 399
庸人自扰
庸人自扰 2021-01-30 17:14

I\'m debugging my code and trying to figure out the size of the view using this:

p view.frame.size.height

but I\'m getting this error:

相关标签:
7条回答
  • 2021-01-30 17:33

    It seems that we cannot use dot notation in the console, try to use get method.

    0 讨论(0)
  • 2021-01-30 17:35

    it should have outer bracket in the first answer,like this:

    p ((CGRect)[cell frame])
    

    output:

    (CGRect) $5 = origin=(x=0, y=0) size=(width=320, height=44)
    
    0 讨论(0)
  • 2021-01-30 17:43

    Try this

    p (CGRect)[view frame]
    

    Alternative to get the frame of the view:

    po view
    
    0 讨论(0)
  • 2021-01-30 17:44

    Add a pch file , add these lines of code to the file:

    #ifndef PrefixHeader_pch
    #define PrefixHeader_pch
    
    #ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #endif  
    
    #endif /* PrefixHeader_pch */    
    

    Next, link the pch file to your project:

    Run the app again, then you should be able to use the dot notation in lldb console:

    (lldb) po self.view.bounds    
    

    For how to add a pch file , see the answer here PCH File in Xcode 6

    0 讨论(0)
  • 2021-01-30 17:49

    If you hate typecasting every time, you can try this:

    (lldb) expr @import UIKit
    (lldb) po self.view.bounds
    

    Since Xcode 7.2 is now available, I think we should update the answer.
    I find the answer here, Why can't LLDB print view.bounds?

    0 讨论(0)
  • 2021-01-30 17:54

    I had same problem and i solved it. Your class might be inherited from "UIViewController". It must be inherited from "UIView" so as to make an frame object in it.

    0 讨论(0)
提交回复
热议问题