我创建了一个类似的类别:
#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;
有没有更好的方法在一个地方抓住screenWidth然后我在的每个视图控制器?
然后我在我的视图控制器中执行了此操作:
_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
答案 0 :(得分:1)
您需要添加
#import "UIViewController+Dimensions.h"
在使用类别的代码中(您调用[uiViewControllerInstance screenWidth2]的文件)
答案 1 :(得分:1)
你检查过那些变量是在.h中声明的吗?所以,他们是公开的。
此外,要使用该类别,请添加以下内容:
#import "UIViewController+Dimensions.h"
在必须使用该类别的班级中。