Inversion of Control (IoC) can be quite confusing when it is first encountered.
IoC is about inverting the relationship between your code and third-party code (library/framework):
DI (Dependency Injection) is about how the control flows in the application. Traditional desktop application had control flow from your application(main() method) to other library method calls, but with DI control flow is inverted that's framework takes care of starting your app, initializing it and invoking your methods whenever required.
In the end you always win :)