Wenn ich in das Textfeld klicke, wie kann ich die Schaltfläche plus zu UITextField hinzufügen, wie im folgenden Bildschirm gezeigt? Wenn Sie auf diese Schaltfläche klicken, wird die iPhone-Kontaktanwendung gestartet. Ich würde jedes Code-Beispiel sehr schätzen. DankSchaltfläche zu uitextfield hinzufügen
Antwort
Verwenden folgende Methode für UIButton
hinzufügen
[self.txtField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
- (BOOL) textFieldDidChange:(UITextField *)textField
{
UIButton *btnColor = [UIButton buttonWithType:UIButtonTypeCustom];
[btnColor addTarget:self action:@selector(btnColorPressed:) forControlEvents:UIControlEventTouchUpInside];
btnColor.frame = CGRectMake(self.txtTag.bounds.size.width - 50, 5, 25, 25);
[btnColor setBackgroundImage:[UIImage imageNamed:@"PaintPickerButton.png"] forState:UIControlStateNormal];
[self.txtTag addSubview:btnColor];
return YES;
}
Oder schreiben
-(BOOL) textFieldShouldBeginEditing:(UITextField *)textField
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.3f];
// self.scrollView.frame = CGRectMake(0, 35, self.view.bounds.size.width, self.view.bounds.size.height - 250);
[UIView commitAnimations];
UIButton *btnColor = [UIButton buttonWithType:UIButtonTypeCustom];
[btnColor addTarget:self action:@selector(btnColorPressed:) forControlEvents:UIControlEventTouchUpInside];
btnColor.frame = CGRectMake(150, 5, 25, 25);
[btnColor setBackgroundImage:[UIImage imageNamed:@"PaintPickerButton.png"] forState:UIControlStateNormal];
[self.txtField addSubview:btnColor];
return YES;
}
Warum verwenden Sie self.scrollView.frame = CGRectMake (0, 35, self.view.bounds.size.width, self.view.bounds.size.height - 250); – pengwang
@ pengwang- sory Ich kopiere Code aus meinem Projekt, so dass ich diese Zeile lösche :) – iPatel
Manuelles Hinzufügen eines eigenen UIButton ist nicht akzeptabel, wenn das Textfeld aktiv wird, wird die Schaltfläche an den Hintergrund gesendet und nicht zu tappbar sein! Die beste Lösung ist die Eigenschaft 'rightView' –
Code Verwendung Nach für das Hinzufügen von Schaltfläche in UITextField.
-(void)ViewDidLoad{
UITextField *txt = [[UITextField alloc]initWithFrame:CGRectMake(140, 120, 160, 40)];
txt.returnKeyType = UIReturnKeyDone;
txt.placeholder = @"Enter or Mobile Number";
[txt setBorderStyle:UITextBorderStyleRoundedRect];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:[UIImage imageNamed:@"crossImg.png"] forState:UIControlStateNormal];
button.imageEdgeInsets = UIEdgeInsetsMake(0, -16, 0, 0);
[button addTarget:self action:@selector(clearText:) forControlEvents:UIControlEventTouchUpInside];
txt.rightView = button;
txt.rightViewMode = UITextFieldViewModeAlways;
[self.view addSubview:txt];
}
-(IBAction)clearText:(id)sender{
}
Verwenden rightView
Eigenschaft UITextField
. In textFieldDidBeginEditing:
Delegate erstellen Schaltfläche mit Aktion, die Sie möchten & auf rightView
festgelegt. Und in textFieldDidEndEditing:
set nil zu rightView
können Sie auch für benutzerdefinierte Ansicht Ant gehen und dann Unteransicht hinzufügen. dann versteckst du es. es wird nur angezeigt, wenn der Benutzer es tippt
Sie können den Code unten für diesen Einsatz:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if(textField == yourFirstTextField)
{
UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom];
[addButton setImage:[UIImage imageNamed:@"addImage.png"] forState:UIControlStateNormal];
[addButton addTarget:self action:@selector(yourActionHere) forControlEvents:UIControlEventTouchUpInside];
textField.rightViewMode = UITextFieldViewModeWhileEditing;
textField.rightView = addButton;
}
}
Sie können das obige Verfahren verwenden, wenn Sie das Feld in IB hinzugefügt.
Wenn Sie es durch Code erstellt werden, müssen Sie den folgenden Code hinzufügen beim Erstellen:
UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom];
[addButton setImage:[UIImage imageNamed:@"addImage.png"] forState:UIControlStateNormal];
[addButton addTarget:self action:@selector(yourActionHere) forControlEvents:UIControlEventTouchUpInside];
textField.rightViewMode = UITextFieldViewModeWhileEditing;
textField.rightView = addButton;
self.locationName.clearButtonMode = UITextFieldViewModeWhileEditing;
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 30, 30);
[button setImage:[UIImage imageNamed:@"goButtonIcon.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(goButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
self.locationName.rightView = button;
self.locationName.rightViewMode = UITextFieldViewModeUnlessEditing;
und dann diese Methode aufrufen:
-(IBAction)goButtonClicked:(id)sender{
}
self.locationName -------> UITextField Reference (in viewDidLoad können Sie diesen Code schreiben)
- 1. Hinzufügen der Schaltfläche "Löschen" zu einem iPhone UITextField
- 2. Schaltfläche Abbrechen in UITextfield
- 3. UITextField zeigt keine Schaltfläche "Löschen"
- 4. Schaltfläche zu QTableview hinzufügen
- 5. Schaltfläche zu einem Bild hinzufügen
- 6. Hinzufügen Filter Schaltfläche zu UISearchController
- 7. Hinzufügen einer Schaltfläche zu MediaController
- 8. Bootstrap: Schaltfläche zu Listengruppenelementen hinzufügen
- 9. Schaltfläche zu einer GroupBox hinzufügen
- 10. UITextField InputView benötigt eine Schaltfläche "Fertig"
- 11. Hinzufügen UITextField auf UIView programmgesteuert
- 12. iPhone SDK - UITextField mit + Schaltfläche für Kontakte
- 13. Hinzufügen des Inhalts eines UITextField zu einem NSMutableArray
- 14. iOS programmgesteuert hinzufügen linken Bild zu UITextField in Xcode?
- 15. Hinzufügen Schaltfläche Minimieren/Maximieren zu JDialog oderJPanel
- 16. ExtJS: Hinzufügen von Schaltfläche zu HTMLEDITOR
- 17. Hinzufügen anklickbare Schaltfläche zu Ion-Radio
- 18. Hinzufügen von Schaltfläche zu jqGrid obere Symbolleiste
- 19. Hinzufügen Schaltfläche zu Gitter in ExtJs
- 20. Hinzufügen einer offensichtlichen (benutzerdefinierten) Schaltfläche zu UIActivityViewController
- 21. Hinzufügen Schaltfläche zu jquery UI-Dialog
- 22. Hinzufügen einer Schaltfläche zu einem Dialogfeld dynamisch
- 23. Hinzufügen einer Schaltfläche zu einem WPF DataGrid
- 24. Programmgesteuert hinzufügen neue Schaltfläche zu ASP.Net DetailsView
- 25. UITextField Kennung zu ResignFirstResponder
- 26. Tricks zu debuggen UITextField
- 27. UITextField in UITableViewCell - Hinzufügen neuer Zellen
- 28. Schaltfläche im Raster hinzufügen
- 29. Schaltfläche zum Frame hinzufügen
- 30. hinzufügen Schließen Schaltfläche
, warum die nach unten Abstimmung? –