我有一个初始化有正确的框架UIViewController,但在我的代码的某个地方框架有错位,我很难找到在哪里。

在这样的情况下,它通常是在方便调试器watch一个变量,但是我没有在我的变量视图访问控制器 - >视图 - >框架属性的方式,因为它不是一个变量,它的一个属性(令人惊奇的是)

钻井入变量了UIView显示示出了一些事情,但没有我可以涉及到框架上,我想也许这将是在layer但它不是

有没有什么方法来监视在私有API的变化?我想不会,因为变数本质上是“隐藏”,所以你不能准确定义如何watch

另外,可能我用什么样的方法呢?我已经试着子类的UIView,设置我UIViewController的观点指向这个子类,并上破SETFRAME方法,但它似乎并没有工作。

编辑:子类的UIView方法没有工作,我不得不视图以点设置为viewDidLoad我的测试子类,而不是init方法。离开这个问题打开因为我不知道这是接近这样的问题...

这是最好的办法
有帮助吗?

其他提示

子类你要跟踪并重写SETFRAME方法的观点:

@implementation MyTableView

- (void)setFrame:(CGRect)frame;
{
    NSLog(@"%@", frame);
    [super setFrame:frame];
}

@end

然后使用调试器来断点添加到它,并检查当它被调用。最终,你会看到当帧被改变,哪里的变化从何而来。

您可以创建一个实例变量,view2的,只是它分配给您的视图您loadView方法。这应该让你看它像一个正常的变量。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top