0

我创建了一个这样的类别:

#import "UIViewController+Dimensions.h"

@implementation UIView (Dimensions)

- (double) screenWidth2
{
    return self.frame.size.width;
}

- (double) screenHeight2
{
    return self.frame.size.height;
}


@end

但是,当我尝试在导入后在视图控制器中调用它时,我得到:

"Use of undeclared identifier screenWidth2;

有没有比我所在的每个视图控制器更好的方法来在一个地方获取屏幕宽度?

然后我在我的视图控制器中做了这个:

 _registerButton.frame = CGRectMake(0.0, 0.0, [self screenWidth2] / 2.0 - 1.0, 60.0);

但应用程序编译运行并崩溃。该类别的 .h 文件是:

#import <UIKit/UIKit.h>

@interface UIViewController (Dimensions)

- (double) screenWidth2;

- (double) screenHeight2;

@end
4

2 回答 2

1

您需要添加

#import "UIViewController+Dimensions.h"

在使用类别的代码中(您调用 [uiViewControllerInstance screenWidth2] 的文件)

于 2013-09-16T08:23:44.040 回答
1

您是否检查过这些变量是否在 .h 中声明?所以,他们是公开的。

此外,要使用该类别,请添加以下内容:

#import "UIViewController+Dimensions.h"

在类中必须使用该类。

于 2013-09-16T08:24:38.307 回答