recuperar personalizar pantalla ocultar notificaciones iconos icono estado escritorio como bloqueo barra uitextfield ios9

uitextfield - personalizar - Cómo ocultar la barra de acceso directo en iOS9



personalizar barra de estado android (7)

Alternativamente, simplemente cree una extensión para UITextField en Swift 2.0 como esta.

extension UITextField { public func hideAssistantBar() { if #available(iOS 9.0, *) { let assistant = self.inputAssistantItem; assistant.leadingBarButtonGroups = []; assistant.trailingBarButtonGroups = []; } } }

Luego puede llamar a hideAssistantBar () en cualquier campo de texto que desee.

@IBOutlet weak var myTextField: UITextField?; override public func viewDidLoad() { super.viewDidLoad(); myTextField?.hideAssistantbar(); }

Tengo un campo de texto con un teclado oculto (ya que lo estoy usando con bluetooth). Sin embargo, en iOS9 la barra de acceso directo sigue apareciendo.

¿Hay alguna manera de ocultarlo también?

Muchas gracias!


En Swift 3.0 y 4.0

self.textField.inputAssistantItem.leadingBarButtonGroups.removeAll() self.textField.inputAssistantItem.trailingBarButtonGroups.removeAll()


En Swift 2.0

if #available(iOS 9.0, *) { let item : UITextInputAssistantItem = yourTextView.inputAssistantItem item.leadingBarButtonGroups = [] item.trailingBarButtonGroups = [] } else { // Fallback on earlier versions }


Puede pasar su nombre de campo de texto en lugar de userNameTextField para el que desea eliminar la barra de acceso directo.

UITextInputAssistantItem* item = [userNameTextField inputAssistantItem]; item.leadingBarButtonGroups = @[]; item.trailingBarButtonGroups = @[];


Solo para ampliar las otras respuestas aquí. Emparejé un código Swift 2.0 que recorrerá todas las subvistas de una vista determinada y deshabilitará UITextInputAssistantItems para todos los UITextFields y UISearchBars.

func hideTheAssistantBar(view:UIView) { //Check this view for case let textField as UITextField in view.subviews { let item : UITextInputAssistantItem = textField.inputAssistantItem item.leadingBarButtonGroups = [] item.trailingBarButtonGroups = [] } for case let searchBar as UISearchBar in view.subviews { let item : UITextInputAssistantItem = searchBar.inputAssistantItem item.leadingBarButtonGroups = [] item.trailingBarButtonGroups = [] } //Now find this views subviews let subviews = view.subviews for subview : AnyObject in subviews { if subview.isKindOfClass(UIView) { hideTheAssistantBar(subview as! UIView) } } }

A continuación, puede llamar a esta función pasando cualquier vista en la que desee comenzar. Llamo a esto dentro de mi método ViewDidLoad() y paso self.view como hideTheAssistantBar(self.view) .

De hecho, fui un paso más allá para mis necesidades y agregué esta función a una clase auxiliar que uso para el código común. Por lo tanto, dentro de mi función viewDidLoad() , en realidad solo llamo helper.hideTheAssistantBar(self.view) y luego no tengo que poner esa función en cada archivo.

Espero que esto ayude a alguien que viene buscando una manera fácil de eliminar la barra de asistente de todos los UITextFields y UISearchBars de una sola vez.

Gracias a @Arkader por el código rápido para encontrar recursivamente todas las subvistas. Subvistas de lista rápida


Tuve el mismo problema. Y así comienza una búsqueda de SO. Así que lo anterior me ayudó, pero en general, "si es iOS9" podría enmarcarse mejor así:

if ([self respondsToSelector:@selector(inputAssistantItem)]) { // iOS9. UITextInputAssistantItem* item = [self inputAssistantItem]; item.leadingBarButtonGroups = @[]; item.trailingBarButtonGroups = @[]; }

Afortunadamente, había creado una subclase de UITextField (CHTextField) y estaba en uso en todas partes. Por lo tanto, fue una solución muy fácil solucionar esto en el método "init" anulado.

Espero eso ayude.


Una manera fácil de hacer esto para todos los campos de texto en su aplicación es crear una categoría en UITextInputAssistantItem y anular los leadingBarButtonGroups para leadingBarButtonGroups y trailingBarButtonGroups esta manera:

@implementation UITextInputAssistantItem (RemoveBars) - (NSArray<UIBarButtonItemGroup *> *)leadingBarButtonGroups { return @[]; } - (NSArray<UIBarButtonItemGroup *> *)trailingBarButtonGroups { return @[]; } @end

Esto funcionó para mí en iOS 9.xy 8.x, no es necesario ningún código condicional.

Sin embargo , tenga cuidado con esto , esto anula esas propiedades para TODO lo que usa UITextInputAssistantItem