I'm a junior iOS Developer and I have the requirements for a drawing app I need to build for my employee. I need to be able to add graphic elements on the canvas on different layers. These elements might include a straight line between 2 or more points (where the user is tapping), another type of lines that can be curved by the user when dragging the middle of the line, shapes and graphic elements that can be rotated and resized, ability to change the border color, fill color and so on. Also, I need the ability to zoom into the canvas and scroll left-right, up-down when is zoom in. I need the ability to select an element that is on a lower level layer and edit it or delete it.

My questions:

Do I use Core Graphics SpriteKit?

Can you point me to some tutorials or some resources on how to do this?

Thank you!

enter image description here

  • 1
    Not only is off topic here but would probably be close d on SO as no site would provide links to tutorials and also I think you need to do a bit more research to provide a question that can be answered – mmmmmm Apr 2 at 21:15

As you have described the problem, it would be more natural to use Core Graphics or perhaps SpriteKit (depending on the interactions with your graphics).

UIKit does not strike me as an obvious go-to framework for this problem.

| improve this answer | |
  • you're right about UIKit, I have edited my question. Can you elaborate on the part where you say that the decision should base on the interaction with the graphics? What I miss if I use one in favor of another. Thank you – Toto Apr 2 at 14:13
  • There's too many factors to write a comment on that here. Instead if you describe what you plan to do, it is easier to base a reply off that. But just note that for example if you want to do some "relatively" static graphics in an app - use Core Graphics. It runs on the CPU, can easily be exported to PDF, does anti-aliasing, etc. If you're doing something "game-like", and need to have things moving based on touch inputs, etc. etc. like a game, you might want SpriteKit, which is normally GPU based. – jksoegaard Apr 3 at 11:53
  • is going to be static. The user needs the ability to draw the blueprint of an area that he's surveying. a house, a fence, some trees, a parking lot. After the element is added to the canvas there will be no movement (game-like), only the ability that the user can edit/delete an element at any moment(just tapping on elem), so each element needs to be on a separate layer. I played once with SpriteKit and I thought is the way to go. But after your last comment, I believe I should investigate and go with CoreGraphics. I don't have much experience and I'm the only iOS dev in the company – Toto Apr 3 at 12:57

Not the answer you're looking for? Browse other questions tagged .