2

こんにちはすべて私は基本的な質問をするつもりです私は私の質問のために多くのリンクを検索しましたが、正確な結果が得られなかったものはありません。ここに私の質問があります:

rect値を渡し、変換を使用して同じ型を返したいのですが、1つのメソッドを作成しましたが、構文的に間違っている可能性があることがわかっているエラーが発生します。以下のコードを修正してください。

-(void)viewDidLoad{
    CGRect testRect=getNewRect(self.view.frame);
}

私自身の方法はここにあります

CGRect getNewRect(CGRect normalRect){
    //some transformation
    return tranfermedrect;
}

よろしくお願いします。

4

3 に答える 3

4

次の行を使用すると、問題が解決します。

[self yourFunction:[NSValue valueWithCGRect:rectFrame]];

上記の行は単純なメソッド呼び出しであり、objective-C では CGRect をパラメーターとして送信できません。したがって、CGRect を NSValue に変換する必要があります。

呼び出された関数で、NSValue から GGRect を取得しました

yourView.frame = [rect CGRectValue];

お役に立てば幸いです。

于 2011-04-26T11:22:14.407 に答える
1

以下で試してください

-(void)viewDidLoad{
    CGRect testRect= [self getNewRect:self.view.frame];
}

-(CGRect) getNewRect:(CGRect) normalRect{

    //some transformation
    return tranfermedrect;
}

以下を.hファイルに追加します

  -(CGRect) getNewRect:(CGRect) normalRect ;
于 2011-04-26T10:55:04.553 に答える
0
-(void)viewDidLoad{
    CGRect testRect= [self getNewRect:self.view.frame];
    NSLog(@"New rect %@",NSStringFromCGRect(testRect));
}

-(CGRect) getNewRect:(CGRect) normalRect{

    //some transformation
    return tranformedRect;
}

これが機能するかどうかを確認します

于 2011-04-26T12:02:40.237 に答える