I have generated an MFMessageComposeViewController to send a preconfigured SMS message, and I now want to draw the user's attention to the send button. The user has already initiated the "send message" process from within the app, but they must then press the send button within the MFMessageComposeViewController to actually send the message. The send button in the standard MFMessageComposeViewController is "hidden away" in the bottom corner of the message body where some, not so tech-savvy users, struggle to find it (a fact not opinion, as I have had test users ask what to do next)!

Apple does not allow this message compose interface to be modified, except for certain exceptions. I have looked into the UIAppearance protocol, which provides limited options to modify aspects of the MFMessageComposeViewController, but the options do not apply to the send button.

I have looked into the documentation, and there are options to highlight or focus on interface objects using the accessibility options, but I can not find a way of linking this to the send button within the MFMessageComposeViewController where I have limited access to the UI components.

How do I highlight the send button within the MFMessageComposeViewController, or access the button so that I can draw the user's attention to it?

  • 26
    This question is being discussed on Meta. Please direct discussions of whether this question is on-topic, etc, to the Meta post, instead of leaving comments here that will need to be cleaned up.
    – cigien
    Jun 20, 2021 at 14:08
  • 8
    I doubt it's possible to alter the appearance of the Send button. The compose interface is executing in an external process and the security model doesn't allow your process to interact with it beyond the (minimal) APIs provided in MFMessageComposeViewController. Jun 20, 2021 at 23:54
  • 3
    there's a screenshot in the MFMessageComposeViewController article, maybe you could create a mockup of what you want to achieve?
    – Clashsoft
    Jun 21, 2021 at 9:15
  • The biggest issue the users were having was accidentally accessing the attachments tray, rather than pressing the send button (If you don't know then it seems logical). The disableUserAttachments() method in the MFMessageComposeViewController class partially solves the problem, but as the post is closed, this will have to remain as a comment, not an answer!
    – JonH
    Aug 2, 2021 at 17:43


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.