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

-(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];
    }
    
}

 

macOS本地安卓自动化:基于ADB的微信/QQ/钉钉操作方案 安卓自动化是指通过系统级接口(如ADB)实现对Android设备的程序化控制,其核心原理是绕过应用层协议,直接驱动无障碍服务与UI组件。相比Appium等测试框架,它具备低延迟、高保真、免Root、纯本地运行的技术优势,特别适合办公场景下的重复性任务提效。在macOS平台,该技术可支撑微信消息发送、QQ群通知响应、钉钉审批提交等真实业务流,但受限于架构兼容性,Intel Mac因ADB稳定性、scrcpy渲染精度及内核扩展支持,成为当前最可靠的部署环境。本文详解一套面向开发者的轻量级本地通信桥接方案——Op 阅读详情

相关推荐

Mac效率飞跃:解锁Typora的25个核心快捷键与高阶玩法

本文详细介绍了Mac平台上Typora的25个核心快捷键与高阶使用技巧,帮助用户大幅提升Markdown写作效率。从基础格式编辑到高效内容插入,再到导航与文档管理,全面解析Typora在Mac上的优化操作,特别适合技术写作与日常文档处理。掌握这些技巧可让写作流程更加流畅,减少鼠标依赖,实现真正的键盘流操作。

weixin_33725270的博客 458

ios 对话框 弹框,输入对话框 普通对话框

ios 对话框 弹框 输入框

代码是贝多芬的音符 1555

Unity中文输入解决方案:从原理到实战的资源整合与跨平台适配

输入法编辑器(IME)是处理中文、日文等非拉丁字符输入的核心系统,其工作原理涉及“编码-候选-上屏”的复杂事件流。在游戏开发与交互应用领域,稳定可靠的IME支持对于提升用户体验至关重要,尤其是在需要角色命名、实时聊天或表单填写的场景中。Unity引擎虽然提供了基础的IME框架,但其默认实现在不同平台和发布形式下表现不一,常出现候选框错位、输入失效等问题,这直接影响了产品的可用性和专业性。本文聚焦于Unity开发中的中文输入痛点,深入探讨如何通过集成经过验证的**资源文件**(如Asset Store插件或开

weixin_33755649的博客 419

iOS键盘通知弹框使用小结

iOS

kuuailetianzi的专栏 681

UE4中文输入难题:彻底解决EditableText拼音显示问题

在游戏开发与交互式应用构建中,文本输入是连接用户与程序的核心交互方式之一。其底层原理涉及操作系统输入法编辑器(IME)与应用程序框架(如UE4的Slate)之间的消息传递与事件处理机制。当IME产生的合成字符串(如拼音)被错误地提交至文本缓冲区时,便会导致拼音直接显示在输入框内,破坏了用户体验。这一问题的技术价值在于,它考验了开发者对跨平台输入处理、消息循环以及UI框架底层行为的深入理解。在游戏开发、工具软件、实时聊天系统等需要多语言输入的应用场景中,稳定、流畅的中文输入支持至关重要。本文聚焦于UE4引擎中

weixin_34277853的博客 647

Gemini Mac版深度解析:原生屏幕理解与macOS交互范式升级

屏幕理解是多模态AI落地操作系统的关键技术,其核心在于将视觉界面实时转化为结构化语义数据,而非简单OCR识别。它依赖Accessibility API、Metal纹理捕获和窗口关系图谱等系统级能力,实现低延迟、高保真的上下文建模。该技术显著提升办公自动化、代码审查、学术精读等场景的准确率与效率,尤其在Apple Silicon设备上依托Neural Engine达成实时处理。Gemini Mac版作为典型代表,展示了原生开发如何突破WebView封装瓶颈,真正实现‘所见即所问’的交互范式迁移。

weixin_33979203的博客 454

【VUE】input输入框 WiFi-Mac地址输入组件及对应表单验证方法

【VUE】input输入框 WiFi-Mac地址输入组件。

SZnAl的博客 1429

MobileRun:基于大语言模型的移动端自然语言自动化测试与智能工作流实践

移动端自动化测试是软件工程中提升应用质量和开发效率的关键环节,其核心原理在于通过脚本或工具模拟用户操作,实现对应用功能的验证。传统方案如Appium或UI Automator依赖精确的元素定位,但面临界面适配和维护成本高的挑战。随着大语言模型(LLM)与多模态技术的发展,一种新的技术范式应运而生:将LLM作为决策大脑,结合设备原生控制能力,实现基于自然语言指令的智能自动化。这种方案显著降低了自动化脚本的编写门槛,使测试工程师和业务人员能够通过直观的语言描述快速构建测试用例或工作流。其核心价值在于处理非标准界

dielucui7698的博客 517

Qt编写输入法V2019终极版

一、前言 之前写过的V2018版本的输入法,本来已经很完善了,不打算更新升级了,最近有个朋友找我定制一个输入法,需要高仿一个苹果MAC电脑的输入法,MAC操作系统的审美无疑是相当棒的,于是乎直接拿以前的输入法高仿了一个,由于之前有做过输入法这块的开发,而且改进了四年,各种需求都遇到过,陆陆续续完善了很多年,所以这个高仿起来难度不大,而且要支持滑动选词,直接撸代码。 体验地址:https://pan...

Qt/C++视频监控/推流/物联网/大屏系统/自定义控件/UI定制/输入法 4016

Android模拟器短信与电话模拟:原理、实战与自动化测试指南

在移动应用开发与测试中,模拟真实网络环境是确保应用稳定性的关键环节。其核心原理在于通过软件层面模拟移动通信基础设施,特别是利用虚拟基带和RIL(无线接口层)拦截机制,在无物理硬件的情况下构建可控的通信环境。这一技术为自动化测试、协议研究和安全评估提供了重要价值,能显著提升测试效率与场景复现能力。在实际应用中,开发者常通过Telnet协议或ADB命令与模拟器控制台交互,发送格式化指令来模拟短信收发与电话接打,从而验证金融、社交等各类应用在通信依赖场景下的功能逻辑与健壮性。本文聚焦于Android模拟器,深入解

weixin_30463341的博客 353

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

弹出可输入提示框,输入内容通过block返回

Emoji 表情符号的输入

不同设备和操作系统输入 Emoji 表情符号的方法有所不同,以下是一些常见平台的输入方式:

墨阳的博客 2064

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

自定义输入提示框

Unity TMP中文输入解决方案:修复候选框漂移与输入卡顿

在Unity引擎的UI开发中,TextMesh Pro(TMP)以其卓越的字体渲染和富文本功能成为首选。然而,其输入框组件TMP_InputField在处理中文、日文等非拉丁字符输入时,常面临IME(输入法编辑器)支持不足的挑战,导致候选词框不跟随、输入卡顿等问题。这源于TMP_InputField底层对IME组合模式事件处理不完善,以及光标位置与文本度量反馈链路断裂。解决此问题对于提升中文用户的交互体验至关重要,尤其在涉及登录注册、聊天系统或游戏内文本编辑等场景。通过深入剖析IME原理,开发者可重写关键事

weixin_33725515的博客 472

Ubuntu使用gstreamer开发USB相机应用(一)

Ubuntu使用gstreamer开发USB相机应用(一) 包括:gstreamer安装,测试。使用v4l2测试USB相机。使用gstreamer采集相机

Alon1787的博客 2739

R语言pls包实战:手把手教你用偏最小二乘(PLS)搞定高维数据回归(附完整代码与数据标准化避坑指南)

本文详细介绍了如何使用R语言的pls包进行偏最小二乘(PLS)回归分析,特别针对高维数据回归问题。通过完整的代码示例和数据标准化避坑指南,帮助读者掌握从数据预处理到模型优化的全流程,解决实际应用中的常见问题。

weixin_42662605的博客 351

MindNode Pro 指导说明书

MindNode Pro 是mac上的思维导图软件,也有ios版,iphone/ipad都可以用,目前没有windows和安卓版本。 我一直用MindNode Pro制作思维导图,这个软件的功能不多,但绝大多数情况足够使用。最大优点是界面清爽、操作极其简便快捷。他们有一句宣传语就叫做“Think content, not layout”,实际使用的感觉就是如此,自然而然地就让你把全部注意力放在...

ningningdashen的博客 1万+

Android手机免root玩转Kali NetHunter:Termux保姆级安装指南(附Kex VNC配置)

本文提供了一份详细的Android手机免root安装Kali NetHunter的保姆级指南。通过使用Termux终端模拟器,用户无需解锁Bootloader或获取root权限,即可在普通安卓设备上部署完整的Kali Linux渗透测试环境。教程涵盖了从环境准备、NetHunter核心安装到配置Kex VNC实现图形桌面访问的全过程,并附带了电脑投屏与常见问题解决方案,旨在打造一个便携的移动安全学习与测试平台。

weixin_29208327的博客 299

iOS开发草图转代码实践:本地化AI辅助UI生成工作流

计算机视觉与自然语言处理是AI辅助编程的两大核心技术支柱。计算机视觉通过识别图像中的UI元素及其空间关系,将视觉信息转化为结构化数据;自然语言处理则负责将这些结构化描述转换为符合语法规范的代码。这种技术组合的价值在于将开发者从重复性的界面搭建工作中解放出来,显著提升原型开发与迭代效率。在iOS开发场景中,结合SwiftUI声明式语法特性,该技术尤其适用于快速将产品原型、手绘草图转化为可运行代码骨架。本文以构建本地化草图到SwiftUI代码生成流水线为例,详细介绍了如何利用Ollama部署本地大语言模型和计算

weixin_30325487的博客 338

Aspose Java 25.10 版本深度破解:基于字节码修改的实战指南

本文提供了Aspose Java 25.10版本基于字节码修改的实战指南。详细介绍了如何通过Javassist工具逆向分析并修改Aspose Cells、Words、Slides及PDF组件的许可证验证逻辑,从而实现绕过限制,并完成最终的打包与功能验证。

stone的博客 1362

OMI数据获取与可视化:从下载到大气污染分析

本文详细介绍了如何获取与处理OMI卫星数据,以进行大气污染分析。内容涵盖从NASA GES DISC官方源下载对流层NO2数据、使用MATLAB或Python进行月均数据处理与网格化,到利用m_map或cartopy工具进行专业可视化的完整流程。重点解析了数据下载技巧、NetCDF格式处理、地图投影与填色方法,并探讨了时间序列分析与动态可视化等深度应用,为环境研究者提供了一套从数据到洞察的实用指南。

weixin_29210759的博客 269

Markdown写作效率翻倍:3个冷门但超实用的Emoji快捷键技巧(Win/Mac通用)

本文分享了三个冷门但高效的Emoji快捷键技巧,帮助Markdown写作者大幅提升效率。重点介绍了Windows的`Win+.`和macOS的`Control+Command+Space`全局快捷键,以及如何在VS Code等编辑器中配置代码片段实现快速输入。这些方法旨在减少写作中的中断,让Emoji插入像调用函数一样流畅,无缝融入写作心流。

weixin_29214335的博客 189

服务器基础知识介绍

服务器,不仅仅是一台高性能计算机,更是网络的核心节点,承担着网络服务的责任。然而,相较于普通计算机,服务器对于稳定性、安全性和性能等方面提出了更高的要求,这使得它们在数字化浪潮中傲然独立。在硬件成本结构中,CPU和芯片组占据约50%的成本,内存占15%,外部存储占10%,其余硬件约占25%。服务器的逻辑结构与普通计算机相似,但由于其需要提供高性能计算,对稳定性、可靠性、安全性、可扩展性和可管理性的要求更高。服务器的分类多种多样,根据产品形式可分为塔式服务器、机架服务器、刀片服务器和机柜服务器。

m0_73576645的博客 1883

小红书数据采集实战:基于Appium与Mitmproxy的API拦截自动化方案

在数据驱动的市场分析与用户研究中,高效、稳定地获取结构化数据是核心需求。传统网页爬虫技术常因动态加载、复杂反爬机制而受阻,尤其是在移动应用场景下。API(应用程序编程接口)作为应用与服务器通信的标准化通道,提供了获取原始、结构化数据的直接路径。其原理在于拦截和解密应用与后端服务器之间的网络请求与响应,从而绕过前端渲染与加密。这种技术方案的价值在于能够获取更完整、更准确的数据字段,为深度分析奠定基础。在竞品调研、用户画像构建、舆情监控等应用场景中,直接从API获取数据已成为一种高效的工程实践。本文聚焦于小红书

weixin_30263073的博客 324

Python调用Google Trends官方数据接口实战指南

Google Trends作为全球最权威的搜索热度分析工具,其数据本质是公开、结构化、可编程访问的时序指标,而非需爬取的网页内容。其底层基于标准HTTP协议与JSON API交互,核心原理在于复现用户浏览器行为——通过/explore接口获取token,再凭token请求/widgetdata/multiline等端点获取归一化(0-100)时间序列数据。该技术路径规避了Selenium渲染依赖与非官方库的脆弱性,具备高稳定性、易调试、可监控等工程优势,广泛应用于竞品监测、内容选题验证、地域营销策略制定等业

weixin_29789925的博客 421

通过傅里叶变换进行音频变声变调

在游戏或者一些特殊场景下为了提高娱乐性或者保护声音的特征,我们会对音频进行变声变调处理。

yang1fei2的博客 1817
上一篇: [IOS]如何在不升级旧XCODE下支持新ios系统
下一篇: [IOS]NSMutableString字符替换
jameskaron
博客等级 码龄20年 31粉丝 663原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值