I have a UITextField that contains "£24 pm" but I want voiceover to say "£24 per month". By setting:
[textView setAccessibilityLabel:@"£24 per month"];
You should set the accessibility label to describe the text field (as if it was a key) and the accessibility value for its value.
textField.accessibilityLabel = NSLocalizedString(@"Price", nil); // textField.accessibilityValue = @"£24 per month"; textField.accessibilityValue = [self transformedPrice:textField.text];
-transformedPrice: should do whatever operation to transform the actual text in your textField to what should be used in voice over. (Don't forget localization)