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?
Unfortunately, it is not possible to directly highlight or modify the appearance of the send button within the standard MFMessageComposeViewController. This is because the interface provided by the MFMessageComposeViewController is not directly customizable and is intended to provide a consistent user experience across all iOS apps.
One solution to consider is to provide additional instructions or guidance to the user before they are presented with the MFMessageComposeViewController. This could include an on-screen message or tutorial that specifically points out the location of the send button within the interface, or providing a visual indicator such as an arrow or highlight box to guide the user to the correct location.
Another option is to present the MFMessageComposeViewController in a modal view controller and add additional instructions or guidance in the modal view controller.
Also, you can use the accessibility options to add a VoiceOver label to the button, which can be read out loud to the user when the button is in focus.
It's worth noting that Apple's HIG (Human Interface Guidelines) discourages from customizing the system's standard view controller. You should try to stick to the standard iOS interface so that the user can feel comfortable and familiar with the app.
Related
We implemented in-app rate dialog in two our applications, however one application has cool looking view with text description but another has only icon without text. We use SKStoreReviewController to show this popup and its API has only one method (two if count deprecated) to show popup and doesn't have any customization options. Both application were launched on the same device model with same iOS version differences only in theme settings, as you could see by popup color
How it's possible to turn weird-looking popup to cool-looking with text description on it?
I have a iOS app that wraps a website. When the user clicks a link in the wrapped website, I want to trap the event in my app and be able to get information about the link that was clicked. Is this something that can be done in Swift?
I'm relatively new to iOS app development and I'm working on an app that has been around for a while.
The short answer is "Yes". There are a couple of views that you can use in iOS to display web content. One such view is WKWebView.
If you look at the documentation at that link, close to the bottom of the page you will find a header for "Managing Navigation Through your Web Content".
What you do is create a WKNavigationDelegate that you attach to your WKWebView. That delegate is notified when the user wants to navigate through the web content (for example, when they click on a link) and lets your application code participate in the navigation process. It can allow navigation, deny navigation, find out when it starts and stop, things of that nature.
How to read text from custom keyboard from third party apps like Skype, whats up and so on?
Step1: I have to create custom keyboard in swift ios
Step2: Enable and add custom keyboard in ios device.
Step3: User will open skype and chat using custom keyboard .
Step 4: I need to read text or detect text or get text , user typed text from third party apps like skype , whats up, message and so on.
Eg: User open skype and chat using custom keyboard like "Hello" . I wants to read text or get text or detect text as Hello using ios swift.
If you have created your own custom keyboard, then you are the one who implemented creating the text from the keyboard -> it should be super easy to record the user input (since you are generating it). E.g., if you generate a character using:
self.textDocumentProxy.insertText(characterString)
Then just at the same moment track that character:
self.textGeneratedInThisSession = self.textGeneratedInThisSession + characterString
Assuming there is textGeneratedInThisSession variable into which you are appending the text.
Moreover, at any moment you can just examine the content of self.textDocumentProxy which gives you the power to find out even the content of the document proxy that was generated by other keyboards, e.g.:
let contentDescription = textDocumentProxy.description
Read more in UITextDocumentProxy documentation.
However, you should know that this is something Apple is very sensitive about. Recording the text and leaking it anywhere might very easily end in rejection of the custom keyboard.
I have an app (iOS 6)that asks for contacts access upon sign up.
It has a custom view. That is it has a custom message along with it two buttons. On pressing Allow, it allows access to contacts. The other button is Why?, in which it explains why the permission is needed and the user can then allow. (There is no option to NOT Allow).
Now I'm porting this app to iOS. How will I change the permission alert view to my needs. Is it even Possible?
Closely Related: iOS: Custom permission alert view text
Does any one know how to Create custom keyboard in iphone? Pls give me any samples for custom keyboard
Hi you need to try following link. They have explained very well and step by step that how to create Custom Keyboard. http://www.appdesignvault.com/ios-8-custom-keyboard-extension/
But while creating Custom Keyboard there are some limitations you must know:
A Custom Keyboard cannot be used to type into certain text input objects. These include the secure text input objects (any object that has its secureText property set to YES) and phone pad objects (any object that has a keyboard type trait of UIKeyboardTypePhonePad or UIKeyboardTypeNamePhonePad). When the user types in any of these text input objects, the system temporarily replaces your custom keyboard with the system keyboard, and on typing in a non-secure or non-phone pad object, your keyboard resumes.
Input dictation isn’t possible for a custom keyboard since, like all extensions in iOS 8, it has no access to the device microphone.
Selecting text is also not possible. Text selection is under the control of the app that is using the keyboard.
Closely related to the above point, editing menu options i.e. Cut, Copy, Paste are inaccessible. If an app provides an editing menu interface, the keyboard has no access to it.
App developers can reject the use of custom keyboards in their app. This can especially be done in apps that are sensitive to security such as banking apps.
You cannot display key artwork above the top edge of a custom keyboard’s primary view the same way Apple does when you tap and hold a key in the top view.
and very Important you must follow the Apple Extensions guide
https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html#//apple_ref/doc/uid/TP40014214-CH16-SW1
Enjoy. Happy coding.!!!