自定义软键盘上的Return键的文本

GEE去云处理代码段解读(位运算) GEE去云处理代码段解读,包含位运算符号解读、bitwiseAnd()函数、eq()函数解读 阅读详情
#import <UIKit/UIKit.h>

typedef void(^DoneActionBlock)(id);

@interface CustomeTextField : UITextField


@property(nonatomic,retain) UIButton* doneButton;
@property(nonatomic,retain) NSString* buttonTitle;
@property(nonatomic,copy)   DoneActionBlock doneEven;

@end



#import "CustomeTextField.h"

@implementation CustomeTextField


@synthesize doneButton,buttonTitle,doneEven;

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        // 注册UIKeyboardDidShowNotification通知的观察者为self
        
        [[NSNotificationCenter defaultCenter] addObserver:self
         
                                                 selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
        
        [[NSNotificationCenter defaultCenter] addObserver:self
         
                                                 selector:@selector(keyboardDidHide:)
         
                                                     name:UIKeyboardDidHideNotification  object:nil];
    }
    return self;
}

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/


// 实现观察者的注册事件

-(void)keyboardDidHide:(NSNotification*)note{
    
    if (self.doneButton) {
        
        self.doneButton.hidden=YES;
        
    }
    
}



- (void)keyboardDidShow:(NSNotification *)note {
    
    UIWindow* tempWindow = nil;
    UIView* keyboard = nil;
    
    tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
    
    if (tempWindow == nil)
    {
        return;
    }
    
    int viewCount = [tempWindow.subviews count];
    
    ////find key board view.
    for(int i=0; i<viewCount; i++)
    {
        keyboard = [tempWindow.subviews objectAtIndex:i];
        
        //keyboard view found; add the custom button to it
        if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2)
        {
            if(([[keyboard description] hasPrefix:@"<UIPeripheralHostView"] == YES) ||(([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)))
            {
                NSLog(@"find UIKeyboard or UIPeripheralHostView");
                [self creatDoneButton];
                [keyboard addSubview:doneButton];
                break;
            }
        }
        else
        {
            if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
            {
                NSLog(@"find UIKeyboard");
                break;
            }
        }
    }
    
}

-(void)creatDoneButton
{
    // 在键盘第1次弹出时,创建按钮
    
    if (self.doneButton == nil) {
        
        self.doneButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        
        self.doneButton.hidden=YES;
        
        //定制按钮上面要显示的文字,也可以在创建该对象时自定义,本文只自定义了按钮上面的显示文字为:buttonTitle
        
        [self.doneButton setTitle:buttonTitle forState:UIControlStateNormal];   // 设置按钮的位置在恰当的地方
        
        [self.doneButton setFrame:CGRectMake(773/2.0, 250/2.0, 180/2.0, 68/2.0)];
        
        [self.doneButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        
        self.doneButton.titleLabel.font = [UIFont systemFontOfSize:16];
        
        [self.doneButton setTitle:@"hello" forState:UIControlStateNormal];
        
        // 设置按钮背景图片
        
        [self.doneButton setBackgroundImage:[UIImage imageNamed:@"music_starHead_1.png"] forState:UIControlStateNormal];
        
        // 当按钮按下时,触发doneButton方法
        
        [self.doneButton addTarget:self action:@selector(doneButton:)  forControlEvents:UIControlEventTouchUpInside];
        
    }
    
    if (self.editing) {  // 只有当前输入框会显示done按钮
        
        self.doneButton.hidden = NO;
        
    } else {
        
        self.doneButton.hidden = YES;
        
    }
}

//定制按钮的点击事件

- (void)doneButton:(id)sender {
    
    
    
    self.doneButton.hidden=YES;
    
    [self resignFirstResponder];
    
    if (doneEven!=nil) {  // block 回调
        
        doneEven(sender);
        
    }
    
}

- (void)dealloc

{
    
    self.doneButton = nil;
    
    self.doneEven = nil;
    
    self.buttonTitle = nil;
    
    
    
    [super dealloc];
    
}

@end

参考   http://www.cocoachina.com/bbs/read.php?tid=14886&page=1
PyTorch深度学习实战(6)——神经网络性能优化技术 神经网络性能优化技术是指通过改进神经网络的结构、参数初始化、正则化和训练过程等方面来提高其性能和泛化能力的方法。优化技术的选择和调试需要根据具体问题进行,通过不断实验和调整,找到最适合网络的优化策略。本节首先训练了一个简单的全连接网络,然后在此基础上介绍了简单有效的神经网络性能提升技巧。 阅读详情

相关推荐

Ardupilot姿态控制详解(完结篇)

本文主要是对过去写的一些APM中姿态控制流程及函数博文的汇总。 按照之前写的博文以及个人认为的学习顺序,给出APM姿态控制器的学习顺序如下: APM姿态旋转理论基础 Ardupilot姿态控制器 PID控制流程(整定后的P控制器) 详解APM的开方控制器sqrt_controller Ardupilot前馈及平滑函数input_euler_angle_roll_pitch_yaw解析 Ardupilot倾转分离函数thrust_heading_rotation_angles Ardupilot四元数姿态控制

moumde的博客 7023

iOS 修改键盘的return键

iOS 右下角的return键形式

ZHFDBK的博客 1万+

PlutoSDR在matlab中的环境配置(包括驱动和硬件支持包)

双击下载到的驱动,除了点击接受协议和设置安装路径,其他只要点击下一步或者安装即可。登录或者注册你的账号,选择你的matlab版本(这里我的是2023b),点击下一步。设置安装路径,并选择我接受,点击下一步,即可安装完成,并在安装路径中得到。完成后,打开设备管理器,在端口和通用串行总线设备一栏,即可看见下图。点击进入,选择相应的系统安装包,这里我选择的Windows。可看到我们要安装的Pluto支持包,安装即可。右击桌面matlab,选择打开文件所在位置。右上角搜索pluto,选择并点击下一步。

weixin_53160338的博客 4864

iOS之UITextField怎么自定义键盘的return键

//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef enum { UIT

Zhi_Sheng的博客 1万+

Oracle Patch清理

- opatch clean的帮助,该命令清除.patch_storage directory文件夹下的'restore.sh,make.txt' files and 'scratch,backup'-- 执行完毕后,貌似没有变化,可能和自己环境有关(19年开始测试补丁,基本上每个季度都测试,后面把又把数据库用RMAN做了迁移,又转换成了PDB模式)。在对Oracle安装补丁后,会发现OS上被占用了大量的空间,本文档清理Opatch过程中的一些文件,释放空间。--清理后空间,剩余25G。

文档搬运工 1072

FSMC驱动LCD显示屏学习2

液晶显示器,简称 LCD(Liquid Crystal Display)相对于上一代 CRT 显示器 (阴极射线管显示器),LCD显示器具有功耗低、体积小、承载的信息量大及不伤眼的优点,因而它成为了现在的主流电子显示设备液晶是一种介于固体和液体之间的特殊物质,它是一种有机化合物,常态下呈液态,但是它的分 子排列却和固体晶体一样非常规则,因此取名液晶。

usjjjsj的博客 1695

ios键盘done中文_iOS键盘事件实现、控制

记录于2013/6/26:一.点击键盘上的“Done”按钮关闭键盘1.视图控制器实现UITextFieldDelegate协议2.设置文本框属性textField.returnKeyType = UIReturnKeyDone;textField.delegate=self;3. 重写协议方法- (BOOL)textFieldShouldReturn:(UITextField *)textFiel...

weixin_33416318的博客 1197

Unet++改进33:添加ConvolutionalGLU(2024最新改进方法)|紧凑的网络结构和高效的运算

由于残差连接的深度退化效应,许多依赖堆叠层进行信息交换的高效视觉变形模型往往不能形成足够的信息混合,导致视觉感知不自然。为了解决这个问题,在本文中,我们提出了聚合注意力,这是一种基于仿生设计的令牌混合器,它模拟生物中央凹视觉和连续眼运动,同时使特征映射上的每个令牌具有全局感知。此外,我们结合了可学习的令牌,与传统的查询和键交互,这进一步多样化了亲和矩阵的生成,而不仅仅依赖于查询和键之间的相似性。我们的方法不依赖于堆叠进行信息交换,从而有效地避免了深度退化,实现了自然的视觉感知。

AIcurator的博客 683

Flutter TextField设置多行输入时,点击Return键自动隐藏键盘

keyboardType:同上面textInputAction一样都是要主动告诉flutter,防止被修改。singleLineFormatter:屏蔽换行符,这样点击Return键,就不会再插入'\n'了。textInputAction:主动设置,防止被flutter根据。textInputAction的默认值。

aiyakuaile的博客 1301

07 Zabbix 微信告警

Zabbix 微信告警 1.注册企业微信 企业微信注册地址:https://work.weixin.qq.com 2.进入企业微信后台管理 2.1 添加微信成员 2.2创建应用 2.3 获取四项数据 (1)AgentID (2) Secret (3) 企业ID (4)部门ID 3.Zabbix Server配置 3.1确认脚本目录 # grep alertscripts /etc/zabbix/zabbix_server....

Jian Sun_的博客 1297

Vue+OpenLayers6一本通,OpenLayers6完整教程大全,OpenLayers6全知全解,OpenLayers6入门、实战、扩展进阶三合一专栏目录汇总

Gis开发入门,OpenLayers、Leaflet、Maplibre-gl和Cesiumjs地图引擎介绍以及几种地图服务vms、vmts介绍OpenLayers介绍,相比较其他地图引擎有什么优点OpenLayers7.x版本和6.x版本有什么区别,是否需要升级到OpenLayers7版本?OpenLayers6实战:OpenLayers创建自定义控件,以创建一个地图复位控件为例OpenLayers6实战,OpenLayers创建自定义鹰眼控件,自定义鹰眼控件样式,调整鹰眼控件位置、大小、文字和按钮等样式。

GIS技术方向,GIS地图技术分享(GIS入门、Openlayers教程、Leaflet教程),做最好的GIS地图开发教程。关注博主公众号:eguid 2199

Swift中键盘的弹出隐藏,页面抬高,Return键等的配置

如果有多个textField需要加入抬高效果,复制if文在其下方并修改textField名称即可。其中textField为UItextField的名称,替换自己的即可。如果想调整抬高的高度,修改以下部分。修改y的参数,数越小抬得越高。在viewDidLoad中添加以下代码即可实现该功能。只需要在工程中添加这个function即可。两个function。

Syuuuu949的博客 1658

DaVinci配置DID之三:代码实现

本系列主要基于DaVinCi工具链来展开具体DID读写的配置以及最终实现。1,CDD准备2,工具链配置3,代码实现4,验证结果本文讲述流程3话不多说,走你~博主是AutoSar小白,如果哪里表达的有问题,还请大佬们指点指点哈。接下来,让我们在下章关于测试验证的博文再相会哈~

weixin_48498880的博客 5355

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ios隐藏键盘总结

一、隐藏自身软键盘 当对于有多个UITextField控件都想通过点击“Return”来隐藏自身软键盘的情况,这时的最好办法是使用Did End on Exit事件。在点击软键盘右下角的“Return”按钮后,会触发该事件。 该事件有一个sender参数表示当前文本框,这样便可以编写一个通用的事件处理方法(.m文件)—— [cpp] view plaincopy -

巅峰寂寞. 438

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

键盘的回收

当对于有多个UITextField控件都想通过点击“Return”来隐藏自身软键盘的情况,这时的最好办法是使用Did End on Exit事件。在点击软键盘右下角的“Return”按钮后,会触发该事件。 该事件有一个sender参数表示当前文本框,这样便可以编写一个通用的事件处理方法(.m文件)—— [cpp] view plaincopy - (I

xiaobo0134的专栏 379

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

iOS UITextField的returnkey点击事件

一、隐藏自身软键盘  当对于有多个UITextField控件都想通过点击“Return”来隐藏自身软键盘的情况,这时的最好办法是使用Did End on Exit事件。在点击软键盘右下角的“Return”按钮后,会触发该事件。  该事件有一个sender参数表示当前文本框,这样便可以编写一个通用的事件处理方法(.m文件)——    - (IBAction)TextField_DidEndOn...

weixin_30377461的博客 297

带左标题的文本框UITextField,并实现return键回收键盘效果--iOS 开发

创建文本框的方法(停留在C的概念的时候,理解为创建文本框的函数的封装就行了,实际上还不算封装,但是勉强理解为封装先也可以) code: -(UITextField *)setupTextFieldWithTitle:(NSString *)name                       andFrame:(CGRect)frame                 an

Jack的博客 2676

iOS开发自定义键盘回车键Return Key

在iOS开发中,用户在进行文本输入的时候,往往会用到虚拟键盘上的回车键,也就是Return Key.回车键有时候可以是“完成”(表示输入结束),可以是“下一项”(连续信息输入),可以是“搜索”(网页中输入),可以是“发送”(邮件输入),可以是“加入”(比如连接Wi-Fi),等等。我们需要怎么设置呢?方法如下: (1)选中一个Text Field,点击右侧的"Show the Attributes

乞力马扎罗的雪CYF的博客 1万+

自定义键盘的return键

为什么80%的码农都做不了架构师?>>> ...

weixin_34310369的博客 182
上一篇: iOS高级教程:处理1000张图片的内存优化
下一篇: NSString NSCFString isMemberOfClass 遇到的相关的问题
trandy
博客等级 码龄17年 79粉丝 20原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值