`

[IOS]如何设置弹出输入框,输入MAC并自动插入":"

    博客分类:
  • IOS
阅读更多
-(void)showInputMacAlert{
    
    UIAlertController *alertControl = [UIAlertController alertControllerWithTitle:NSLocalizedStringFromTableInBundle(Input_MAC_Black_List_Alert_Title, nil, [[LanguageTool getInstance] getLocaleBundle], @"") message:NSLocalizedStringFromTableInBundle(Input_MAC_Black_List_Alert_Content, nil, [[LanguageTool getInstance] getLocaleBundle], @"") preferredStyle:UIAlertControllerStyleAlert];
    
    UIView *subView1 = alertControl.view.subviews[0];
    
    UIView *subView2 = subView1.subviews[0];
    
    UIView *subView3 = subView2.subviews[0];
    
    UIView *subView4 = subView3.subviews[0];
    
    UIView *subView5 = subView4.subviews[0];
    
    //IOS12 has a more uiview in subView5.subviews
    UILabel *titleView = subView5.subviews[0];
    UILabel *messageView = subView5.subviews[1];
    if ([titleView isMemberOfClass:[UIView class]]) {
        titleView = subView5.subviews[1];
        messageView = subView5.subviews[2];
    }
    
    titleView.textAlignment = NSTextAlignmentLeft;
    messageView.textAlignment = NSTextAlignmentLeft;
    
    //定义第一个输入框;
    [alertControl addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
        [textField addTarget:self
                           action:@selector(textFieldDidEditing:)
                 forControlEvents:UIControlEventEditingChanged];
    }];
    
    UIAlertAction *okAction = [UIAlertAction actionWithTitle:NSLocalizedStringFromTableInBundle(Confirm_Bt_Title, nil, [[LanguageTool getInstance] getLocaleBundle], @"") style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
          //获取第1个输入框;
        UITextField *macTextField = alertControl.textFields.firstObject;
        BOOL isValidMac = [Util isValidMac:macTextField.text];
        if (isValidMac) {
            [self addDeviceToBlacklist:macTextField.text];
        }else{
            [MBProgressHUD showToast:self.view content:NSLocalizedStringFromTableInBundle(Mac_Invalid, nil, [[LanguageTool getInstance] getLocaleBundle], @"")];
        }

//        NSLog(@"controller text field content:%@", _macInputTextField.text);
        
    }];
    
    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:NSLocalizedStringFromTableInBundle(Cancel_Bt_Title, nil, [[LanguageTool getInstance] getLocaleBundle], @"") style:UIAlertActionStyleCancel  handler:^(UIAlertAction *action) {
    }];
    
    
    
    [alertControl addAction:cancelAction];
    [alertControl addAction:okAction];
    
    [self presentViewController:alertControl animated:YES completion:nil];
    
}

#pragma mark - textfield delegate
-(void)textFieldDidEditing:(UITextField*)textField{
    
    NSMutableString *inputText = [textField.text mutableCopy];
    NSLog(@"input text-1:%@",inputText);
    //Remove all ':' to caculate length
    NSString *tempString = [textField.text stringByReplacingOccurrencesOfString:@":" withString:@""];
    if (tempString.length !=0 && tempString.length%2==0 && textField.text.length<17 && ![_inputMacContentLastString isEqualToString:@":"]) {
        [inputText appendString:@":"];
        textField.text = inputText;
    }
    
    if (inputText.length > 0) {
         _inputMacContentLastString = [inputText substringFromIndex:inputText.length-1];
    }
    
}

 

分享到:
评论

相关推荐

    ios-IM即时通讯聊天输入框,包括自增长输入框,插入图片,输入语音等模块.zip

    本项目“ios-IM即时通讯聊天输入框,包括自增长输入框,插入图片,输入语音等模块.zip”提供了一个功能丰富的聊天输入框组件,适用于构建类似微信、QQ等IM应用的底层架构。 首先,我们要了解这个组件的核心部分——自...

    ios-自定义弹出视图输入框.zip

    在iOS应用开发中,自定义弹出视图输入框是一种常见的需求,特别是在需要用户输入信息但又不希望完全切换到新界面的情况下。标题"ios-自定义弹出视图输入框.zip"暗示了这个压缩包可能包含了一个实现这种功能的示例...

    ios-弹框添加输入框.zip

    在iOS开发中,"ios-弹框添加输入框.zip" 这个压缩包可能包含了一个实现弹出视图(pop-up view)并集成输入框(text field)的示例项目。这种功能通常用于用户需要在不离开当前界面的情况下提供一些简短的信息,如...

    ios应用源码之点击输入框弹出键盘时,输入框的整个视图向上移动以便用户可以看到输入的内

    为了解决这个问题,iOS提供了多种方法来处理键盘弹出时视图的自动调整,以确保输入框始终可见。以下是一些相关的知识点和实现策略: 1. **UIKeyboardNotification**:苹果提供了UIKeyboardWillShowNotification和...

    ios-弹出可输入提示框.zip

    在这个项目中,开发者创建了一个能够弹出并允许用户输入信息的提示框。这种设计通常用于需要用户在特定情境下输入少量数据的情况,例如搜索关键词、验证代码或用户名等。 首先,我们来了解一下“弹出视图”...

    iOS验证码和密码输入框

    在iOS中实现验证码输入框,我们可以使用`UITextField`控件,并对其样式和功能进行定制,例如设置特定的字符长度、添加清除按钮、实时显示输入状态等。 密码输入框则是为了保护用户的隐私,通常用于输入登录密码或...

    ios自定义密码输入框

    监听键盘事件,例如`UIKeyboardWillShowNotification`和`UIKeyboardWillHideNotification`,以便在键盘弹出或隐藏时调整视图布局,防止遮挡输入框。 10. **安全存储**: 密码输入完成后,应使用Keychain或...

    自定义弹出输入框

    在IT领域,自定义弹出输入框是一种常见的用户界面(UI)设计技术,它允许用户在主界面之外提供额外的交互空间,以便输入数据或执行特定操作。这通常用于需要临时获取用户信息的情况,比如登录、搜索或者设置等场景。...

    ios-交易密码输入框.zip

    3. **交互体验**:仿支付宝的输入框在用户体验上通常具有良好的交互性,例如数字键盘的弹出、输入框选中动画、输入验证反馈等,这些都可以提升用户的操作体验。 4. **安全与隐私**:为了保护用户数据的安全,密码...

    自定义弹出输入框(输入长度限制).zip

    标题“自定义弹出输入框(输入长度限制)”表明我们关注的是一个特定的输入框控件,它不仅具有标准的输入功能,还增加了弹出式显示效果以及字符长度的限制。这通常用于优化用户在有限空间内进行文本输入的场景,比如...

    ios-支付密码输入框.zip

    在iOS应用开发中,设计和实现一个支付密码输入框是一个重要的环节,因为它涉及到用户的资金安全。...如果压缩包中的代码实现了这些功能,解压并研究其源码将有助于深入理解iOS自定义UI组件的开发。

    IOS 解决输入框被键盘遮挡问题

    标题"iOS解决输入框被键盘遮挡问题"直指这一常见痛点,描述指出了解决方案——在键盘弹出时,界面向上移动以确保输入框始终可见。以下将详细阐述如何处理这个问题。 首先,我们需要理解iOS中的键盘管理机制。当用户...

    ios-短信验证码输入框.zip

    2. **数字输入限制**:为了匹配短信中发送的通常为4到6位的验证码,codeView可能设置了一个特定的输入长度限制,比如只能输入4到6个数字,并自动填充已输入的验证码。 3. **自动填充和清除**:codeView可能实现了...

    ios-输入框弹出.zip

    "ios-输入框弹出.zip"文件中的示例项目"InputContentDemo"很可能是为了演示如何在iOS应用中实现这种交互。 1. UITextField基本使用: - 创建UITextField:可以通过代码创建或者在故事板中拖拽添加到视图上。 - ...

    iOS限定文本输入框输入特定字符个数(完整Demo源码)

    3、特色功能: iOS限制联想字符串输入,汉字占2个字符,英文占1个字符,解决的中英文切换输入法联想导致的bug 4、demo需求:风险商户处理界面提供`情况说明`输入框,限制输入100个字符 5、private repositories :...

    ios-动画边框输入框.zip

    在iOS开发中,创建具有动画效果的输入框可以极大地提升用户体验,使应用更加生动和吸引人。本资源“ios-动画边框输入框.zip”提供了一个实现这种效果的实例,名为“AjenShiftyTextField”。这个类扩展了标准的...

    IOS应用源码Demo-弹出框帐号密码输入效果-毕设学习.zip

    在iOS应用开发中,弹出框(Alert View)是一种常见的用户交互方式,它可以在界面中以弹出的形式显示信息、提示或请求用户输入。在这个"IOS应用源码Demo-弹出框帐号密码输入效果-毕设学习.zip"的项目中,我们可以深入...

    ios-自定义密码输入框.zip

    以上就是基于“ios-自定义密码输入框.zip”这个主题可能涵盖的iOS开发知识点,从自定义视图、属性设置到功能扩展和测试,每一个环节都是创建高质量iOS应用不可或缺的一部分。通过深入理解和实践这些知识点,开发者...

Global site tag (gtag.js) - Google Analytics