when you overload the drawInContext , you should use coordinate based on frame rather than bounds.
if you want to use the coordinate based on bounds, you should CGContextTranslateCTM(ctx, _frame._X, _frame._Y) at the beginning of the function and CGContextTranslateCTM(ctx, -_frame._X, -_frame._Y) at the end.
when you overload the drawInContext , you should use coordinate based on frame rather than bounds.
if you want to use the coordinate based on bounds, you should CGContextTranslateCTM(ctx, _frame._X, _frame._Y) at the beginning of the function and CGContextTranslateCTM(ctx, -_frame._X, -_frame._Y) at the end.