All the other answers are limiting the length of the input, while the OP is clearly asking for a limit to the value of the input. First of all, you can also use a UIStepper

(source: apple.com) 
or a UISlider for this purpose (together with a label to display the current value). This might be clearer to the user as well.
If you stick to a UITextField-based approach, you need to implement the textField:shouldChangeCharactersInRange:replacementString: method as follows:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    NSString *text = [textField.text stringByReplacingCharactersInRange:range withString:string];
    NSNumberFormatter *numberFormatter = [NSNumberFormatter new];
    NSNumber *number = [numberFormatter numberFromString:text];
    if (number == nil || [number doubleValue] > 10) {
        return NO;
    }
    return YES;
}
You might want to add some extra checks for negative numbers if you don't allow them.