Basically, UIKit can fulfill all basic graphics and animation requirements such as manipulating colors or images, filling rectangles, and animating the user interface. When more powerful 2D drawing capabilities are needed, developers can use the Core Graphics library. UIKit uses Core Graphics and Core Animation, too. That is why typically developers do not need to use the lower libraries directly.