0

次のようなカテゴリを作成しました。

#import "UIViewController+Dimensions.h"

@implementation UIView (Dimensions)

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

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


@end

しかし、インポート後にView Controllerで呼び出そうとすると、次のようになります。

"Use of undeclared identifier screenWidth2;

私がいるすべてのView Controllerよりも1つの場所でscreenWidthを取得するより良い方法はありますか?

次に、View Controllerでこれを行いました:

 _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 に答える