1

同様の質問をすべて検索しましたが、答えが見つかりませんでした。私はこれに完全に困惑しています... UIImageViewを拡張するクラスがあります。だからここに私の.hファイルがあります:

@interface Paper : UIImageView {
@public
    CGFloat drag;
}

@property (nonatomic, assign) CGFloat drag;
@end

私はdrag自分の実装で適切に合成しています。

ここで、ViewController で次のように Paper オブジェクトを作成して初期化します。

NSString *tempPath = [[NSBundle mainBundle] pathForResource:@"picture" ofType:@"png"];
UIImage *tempImage = [[UIImage alloc] initWithContentsOfFile:tempPath];
Paper *tempPaper = [[UIImageView alloc] initWithImage: tempImage];

オブジェクトは正しく作成され、後でそれをサブビューなどとして表示できますが、上記の直後に次のような行を使用してカスタム プロパティを変更しようとすると、次のようになります。

tempPaper.drag = 1.0;

また

[tempPaper setDrag:1.0];

[UIImageView setDrag:]: unrecognized selector sent to instanceはエラーとして取得します。見つけたさまざまな方法をすべて試しましたが、Paper クラスのカスタム プロパティ (UIImageView 以外のもの) の値を設定することはできません。私が見逃しているのは何ですか?これに 2 時間費やしましたが、頭がおかしくなりました。何が問題なのかわかりません。

dragPaperのinitWithImage方法で 初期化も試みましたが、うまくいきません。

4

2 に答える 2

0
Paper *tempPaper = [[Paper alloc] initWithImage: tempImage];
于 2012-09-17T06:59:02.250 に答える
0

UIImageView の代わりに Paper クラスのオブジェクトを作成します。

用紙 *tempPaper = [[用紙割り当て] initWithImage: tempImage];

于 2012-09-17T07:11:54.520 に答える