抓取iPhone屏幕宽度和高度以获得可重用性

时间:2013-09-16 08:21:29

标签: ios objective-c ios6 uiviewcontroller ios7

我创建了一个类似的类别:

#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

2 个答案:

答案 0 :(得分:1)

您需要添加

#import "UIViewController+Dimensions.h"

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

答案 1 :(得分:1)

你检查过那些变量​​是在.h中声明的吗?所以,他们是公开的。

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

#import "UIViewController+Dimensions.h"

在必须使用该类别的班级中。