Tag: uitextfield

要启用button,如果所有的文本字段都填入了ios

我devise了四个UITextField和一个UIButton的registry单。 我默认设置button的enabled属性为NO 。 现在我只想在填充所有四个文本字段时启用button。 你可以请帮助我,因为我是一个新的ios,并坚持这个问题。

UITextField获取焦点,然后由于在textFieldShouldReturn中返回YES而立即失去焦点

这是我的代码: – (void)viewDidLoad { [super viewDidLoad]; // passwordTextField cannot get focus after click next key due to this RAC RAC(self.loginButton, enabled) = [RACSignal combineLatest:@[self.userTextField.rac_textSignal, self.passwordTextField.rac_textSignal] reduce:^id (NSString *user, NSString *password) { if ([user length] > 0 && [password length] > 0) { return @YES; } return @NO; }]; } – (BOOL)textFieldShouldReturn:(UITextField *)textField { if (textField […]

为货币格式化UITextField

我有一个UITextField在我的应用程序只接收来自用户的数字input。 此数字input表示货币,并具有默认值0.00。 我想创build一个像掩码的东西来格式化用户input数字的UITextField。 例如: 9成为$ 0.09 99成为$ 0.99999成为$ 999,99 下面的代码工作得很好,但是因为我使用整数和浮点值,应用程序最终会显示错误的值。 例如: 999999999变成了100000000 发生这种情况是因为flot和integer不够精确,应该使用NSDEcimalNumber。 重点是,我不知道如何将我的整数和浮点值replace为NSDecimalNumber。 有没有人可以帮我解决这个问题? 我花了一些时间在网上search解决scheme,但没有find适合我的需求和吨的人有同样的问题。 这里是代码: -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if (textField.tag == 1){ NSString *cleanCentString = [[textField.text componentsSeparatedByCharactersInSet: [[NSCharacterSet decimalDigitCharacterSet] invertedSet]] componentsJoinedByString:@""]; NSInteger centValue= cleanCentString.integerValue; if (string.length > 0) { centValue = centValue * 10 + string.integerValue; } else { centValue […]

iPhone:如何使UITextField不可见但仍可点击?

我在做什么: 在一个简单的UITableView中,我有一个可以编辑的文本和date/时间的表单。 我在date/时间单元格中也使用了UITextFields,所以inputView属性可以用来在键盘上显示一个datePicker。 问题是: 这个问题是,这些UITextFields真的只是虚拟的领域,select时显示一个datePicker。 当他们被选中时,他们会显示这个恼人的蓝色光标闪烁 – 但这些只是虚拟文本字段,我不希望他们变得可见。 如果我设置了alpha = 0或hidden = YES,那么textField不再是可点击的。 任何想办法解决这个问题 – 或者,解决我最初的问题? 谢谢

移动位于键盘下方的内容

我有一个关于苹果文档中的代码移动位于键盘下的内容的问题 。 我已经研究过这个,但是在我开始使用替代解决scheme之前,我正在寻求澄清我在这里模糊的概念。 不幸的是,一旦键盘animation结束键盘向上移动,视图向下移动并完全离开现场。 无论文本字段实际上是否被键盘覆盖,都会发生这种情况。 所以现在我回来试图了解在文档中提供的代码,并尝试更改各种参数后,我一直无法让它正常工作。 苹果提供的相关代码是: – (void)keyboardWasShown:(NSNotification*)aNotification NSLog(@"keyboardWasShown"); NSDictionary* info = [aNotification userInfo]; CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0); scrollView.contentInset = contentInsets; scrollView.scrollIndicatorInsets = contentInsets; // If active text field is hidden by keyboard, scroll it so it's visible // Your application might not need or […]

将Firebase值发送到文本字段

我有一个视图控制器与三个文本字段。 当用户第一次使用该应用程序时,他们在这些文本字段中input一些信息,然后按完成,然后将信息发送到Firebase数据库: FIRDatabase.database().reference().child("info").child(self.loggedInUser!.uid).setValue(saveObject) 但是,用户也可以编辑这三个文本字段。 截至目前,当用户编辑一个文本字段,并点击完成。 未编辑的文本字段的信息显示在其自己的文本字段中,然后用户必须再次单击完成button才能将编辑的文本字段发送到Firebase: if City.text=="" { FIRDatabase.database().reference().child("info").child(self.loggedInUser!.uid).observeSingleEvent(of: .value, with: { (snapshot:FIRDataSnapshot) in if let postsDictionary = snapshot .value as? [String: AnyObject] { let city = postsDictionary["City"] as? String ?? "" self.City.text = city }}) } if Major.text=="" { FIRDatabase.database().reference().child("info").child(self.loggedInUser!.uid).observeSingleEvent(of: .value, with: { (snapshot:FIRDataSnapshot) in if let postsDictionary = snapshot .value as? [String: […]

按用户键入的格式将UITextField的文本格式设置为电话号码

我有一个自定义的UITextField,我试图“格式化input到电话号码”作为用户types。 我想实现的是: 在UITextField中添加一个前缀+符号作为第一个字符,不能被删除。 以电话号码的格式很好地(+49 291 12345678)格式化stringvariables和UITextField的文本,而不是用户input的普通数字(4929112345678) 。 我研究发现,没有内置的方法。 我还发现了一个名为PhoneNumberKit的易于使用的库,用于将inputstring格式化为电话号码。 在游乐场,它的作品像.. let rawNumberArray = "+4929112345678" let phoneNumbers = PartialFormatter().formatPartial(rawNumberArray) print(phoneNumbers) // "+49 291 12345678" 请记住,图书馆需要string有+作为第一个字符格式正确。 我试着在我的UITextField上实现它。 func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { if textField == myTextField { let candidateString : NSString = (textField.text! as NSString).stringByReplacingCharactersInRange(range, withString: string) let updatedTextString : […]

UITextField文本意外移动

下面是文本字段处于活动状态时文本字段中的文本如何移动的演示。 通过应用背景到字段,我发现只有文本移动,而不是整个文本字段本身。 上面的文本字段也没有发生,只有最下面的一个

如何将逗号和小数位dynamic地放入我的UITextField中?

我想在像4.65这样的“11000”和465中的小数点('。')中添加一个','。 我写了这个逗号: – (BOOL) textField: (UITextField *)textField shouldChangeCharactersInRange: (NSRange)range replacementString: (NSString *)string { NSString *unformattedValue; NSNumberFormatter *formatter; NSNumber *amount; switch ([textField tag]) { case 102: unformattedValue = [textField.text stringByReplacingOccurrencesOfString:@"," withString:@""]; unformattedValue = [unformattedValue stringByReplacingOccurrencesOfString:@"." withString:@""]; formatter = [[NSNumberFormatter alloc] init]; [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; [formatter setGroupingSeparator:@","]; [formatter setDecimalSeparator:@"."]; amount = [NSNumber numberWithInteger:[unformattedValue intValue]]; textField.text = [formatter stringFromNumber:amount]; […]

UIDatePicker作为inputView

我有两个问题在UIDatePicker作为inputView。 1:当我在datePicker中select“April 17 9:00 PM”时, dateTextField输出“2014-04-107 21:00:00”。 2:我国的UTC是+0900。 但是, NSLog输出“2014-04-17 12:00:00 +0000”。 我如何解决这些问题? @property IBOutlet UITextField* dateTextField; @property IBOutlet UIDatePicker* datePicker; @property UIToolbar* toolBar; – (void)viewDidLoad { self.datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 600, 320, 216)]; [self.view addSubview:self.datePicker]; self.toolBar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, -40, 320, 40)]; self.toolBar.barStyle = UIBarStyleBlackOpaque; UIBarButtonItem* doneButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dateTextFieldShouldReturn)]; NSArray* finishBarItems […]