みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【iOSプログラミング】UIViewを統合させたい

iPhoneアプリを作ろうとしていて
とりあえずペイントソフトを作っています。

アルゴリズムは、タッチの軌跡の点を多数取得し、一つ一つを直線で繋げることで、軌跡通りの複雑な曲線を描画しています。

また、Undo(戻る)機能付加の為に線一つ一つに対してUIViewをインスタンス化しているのですが
たくさん線を描くうちに、UIViewの数が多くなりすぎて動作が重くなってしまいます。

その為、UIViewを古いものから順にスーパークラス(或いは、一番古いサブクラス)へと統合してしまいたいのですが
その為のメソッドが見当たりません。

どうかご教授お願いします。
また、当方初心者ですので、複雑な処理に関しては説明もお願いしたいです><

ついでに曲線描画についてのアルゴリズム指摘もお願いしたいです

投稿日時 - 2013-12-13 18:14:59

QNo.8384922

困ってます

質問者が選んだベストアンサー

Undoを実装するには、自前でどうにかしようとするのでなく、NSUndoManagerというクラスの勉強をなさって、それを実装することを、検討なさるのがいいでしょう。iOSには、最初からUndo、Redoに関するフレームワークが用意されているので、それを利用しない手はありません。

> ついでに曲線描画についてのアルゴリズム指摘もお願いしたいです

Core Graphicsというフレームワークの勉強をしてください。これはPDFの描画ルーチンをベースにしており、曲線はベジエ曲線によって実現します。なので、ベジエ曲線についても勉強なさるといいでしょう。

投稿日時 - 2013-12-16 20:04:18

お礼

返事遅れました。
フレームワークがあるんですね、参考になります!

ベジエ曲線というものも初耳でした。
ペイントツールにおける「曲線ツール」はこれを元に組まれてるみたいですね

便利なフレームワークがたくさんあるみたいなので、他にも色々調べさせて頂きます。

ありがとうございました。

投稿日時 - 2013-12-29 14:17:58

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問