2016-09-04 11 views
-1

アンカーポイントを変更するときに、オブジェクトの位置を同じに保つためにオブジェクトのレイヤーのサイズを変更するこのコードが見つかりました。多くのユーザーがそれがどのように完璧に機能しているとコメントしたように、コードそのものが機能することは間違いありません。しかし、初心者として、私はこのメソッドを呼び出す方法がわかりません。 Ballオブジェクトのアンカーポイントを(2.0、0.5)から(0.5、0.5)に変更したい。AnchorPointメソッドを呼び出す

-(void)setAnchorPoint:(CGPoint)anchorPoint forView:(UIView *)view{ 
    CGPoint newPoint = CGPointMake(view.bounds.size.width * anchorPoint.x, 
            view.bounds.size.height * anchorPoint.y); 
    CGPoint oldPoint = CGPointMake(view.bounds.size.width * view.layer.anchorPoint.x, 
            view.bounds.size.height * view.layer.anchorPoint.y); 

    newPoint = CGPointApplyAffineTransform(newPoint, view.transform); 
    oldPoint = CGPointApplyAffineTransform(oldPoint, view.transform); 

    CGPoint position = view.layer.position; 

    position.x -= oldPoint.x; 
    position.x += newPoint.x; 

    position.y -= oldPoint.y; 
    position.y += newPoint.y; 

    view.layer.position = position; 
    view.layer.anchorPoint = anchorPoint; 
} 

私は無駄

+0

あなたが投稿したコードは、C#ではありません、それはObjective-Cのです。あなたが実際にObjective-Cソリューションを望んでいるかどうかは、あなたの質問からは分かりません。あなたがしていると仮定すると、あなたの質問はまだあなたが示していることは、あなたが知っている限り完全に動作するというコードでは不十分です。試したことを明確に示す良い[mcve]を提供する必要があります。さらに、そのコードが何をしているのか、何をしたいのかを正確に説明する必要があります。 _あなたは何を問題にしていますか? –

+0

私は、アンカーポイントを変更するときにBallオブジェクトを所定の位置に維持したいと思っています。私は上記のコードがこれを達成することを知っていますが、私はそれをどのように使用するのか分かりません。また、私はObjective-Cを意味しました。 –

+0

この質問は、あなたがobjective-cがどのように動作するのか、それをどのように読むか使用するのか分かりません。私はここで何か答えがあなたを助けるとは思わない - あなたはいくつかの基本的な言語ガイドを見なければならない。 – jrturton

答えて

0

コードに

[self setAnchorPoint:{0.5, 0.5}anchorPoint forView:(Ball*)]; 

の多くのバリエーションを試してみた:

[self setAnchorPoint:{0.5, 0.5}anchorPoint forView:(Ball*)]; 

マイコード: あなたは客観的Cコードを使用する必要があり、メソッドを呼び出すためのメソッドです。あなたの参照の訪問のため

[self setAnchorPoint:CGPointMake(0.5,0.5) forView:Ball]; 

リンク: http://www.tutorialspoint.com/objective_c/objective_c_functions.htmhttp://rypress.com/tutorials/objective-c/methods

+0

OH jesusありがとうございました。真剣に多くのバリエーションを試しましたが、CGPointMakeをアンカーポイントの前に置くことは考えていませんでした。あなたは本当に人生の節約者です。 –

+0

@ JohnKasich_2016はあなたのために役立つ私の答えですし、他の開発者に役立つように、正しいマークまたはupvoteを付けてください。 –

関連する問題