# Native Controls

DevFeed: [Native Controls](<https://devfeed.tech/articles/native-controls-19390.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/native-controls/>)

Author: Shai Almog

Published: 2019-01-28T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Library](<https://devfeed.tech/topics/library.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [interception](<https://devfeed.tech/topics/interception.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [interception](<https://devfeed.tech/tags/interception.md>), [library](<https://devfeed.tech/tags/library.md>), [native](<https://devfeed.tech/tags/native.md>), [password](<https://devfeed.tech/tags/password.md>)

## AI overview

The Codename One cn1-native-controls library wraps native widgets for features that are difficult to support otherwise, including device password managers and an iOS SMS interception text field.

## Source excerpt

We supported native widgets within the native interface feature since the first public beta. However, this requires native coding and isn't always trivial. Normally you don't really need to do that. E.g. for text fields we implicitly convert the field to a native field as necessary. However, if you wish to use the password manager of the device this won't work. To solve this Steve introduced a new cn1lib: cn1-native-controls. This library wraps some native widgets and lets us use some features that might be tricky without them. Good use cases for this include the password managers which need a native text widget constantly in that spot. Another use case would be iOS's SMS interception text field that can automatically intercept the next incoming SMS and set it to a special native text field.