当我在自定义单元格中使用 UItextField 时,以及当我 resignFirstResponder 文本字段时,我遇到了崩溃,但它不再可见(表格 View 滚出窗口)。我仍然可以找到文本字段,指针继续可访问,它不是空的,并且崩溃只发生在 IOS7 上,在 IOS6 上我没有这个问题。这是一些代码:
textField 是一个全局变量。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString * CellIdentifier = [NSString stringWithFormat:@"Cell%d",indexPath.row];
TableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[TableCell alloc] init];
if(indexPath.row == 0)
{
[textField setFrame:CGRectMake(15, 5, cell.frame.size.width-60, cell.frame.size.height)];
textField.textAlignment = NSTextAlignmentLeft;
[textField setBorderStyle:UITextBorderStyleNone];
textField.textColor = [UIColor blackColor];
textField.tag = indexPath.row;
textField.delegate = self;
textField.secureTextEntry = YES;
[textField setFont:[UIFont fontWithName:@"Arial-BoldMT" size:15]];
textField.textColor = [UIColor whiteColor];
textField.returnKeyType = UIReturnKeyDone;
[textField setAdjustsFontSizeToFitWidth:YES];
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"Senha" attributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]}];
[cell.contentView textField];
}
}
return cell;
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
// NSLog(@"text field %@",textField);
// NSLog(@"tfield return: %d",textField.isFirstResponder);
[textField resignFirstResponder];
// [self.view endEditing:YES];
return NO;
}
最佳答案
在 Apple 的帮助下,我已经成功修复了一个类似的崩溃错误。关键是 reuseIdentifer。
引述来自 Apple 开发人员技术支持 的 Vincent Gable 的邮件:
This is a known behavior change that happens in iOS 7 with
UITableView, when cells are not reused.The fix here is to make sure that you follow proper cell reuse. If you do not want to re-use
UITableViewCells, then it is recommended that you simply layout all your views inside aUIScrollView.To make sure cells are re-used, make sure you are passing the same string to
dequeueReusableCellWithIdentifier:that you pass toreuseIdentifier:when usingalloc/initto make the cell. This string can not be nil.
所以我认为您应该确保您已将 TableCell 的 reuseIdentifer 属性设置为与您传递给 dequeueReusableCellWithIdentifier 的值相同:
关于IOS 7 UITextField resignFirstResponder 坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19117589/
文章目录前言核心逻辑配置iSH安装Python创建Python脚本配置启动文件测试效果快捷指令前言iOS快捷指令所能做的操作极为有限。假如快捷指令能运行Python程序,那么可操作空间就瞬间变大了。iSH是一款免费的iOS软件,它模拟了一个类似Linux的命令行解释器。我们将在iSH中运行Python程序,然后在快捷指令中获取Python程序的输出。核心逻辑我们用一个“获取当前日期”的Python程序作为演示(其实快捷指令中本身存在“获取当前日期”的操作,因而此需求可以不用Python,这里仅仅为了演示方便),核心代码如下。>>>importtime>>>time.strftime('%Y-%
iOS适配Unity-2019背景由于2019起,Unity的Xcode工程,更改了项目结构。Unity2018的结构:可以看Targets只有一个Unity-iPhone,Unity-iPhone直接依赖管理三方库。Unity2019以后:Targets多了一个UnityFramework,UnityFramework管理三方库,Unity-iPhone依赖于UnityFramwork。所以升级后,会有若干的问题,以下是对问题的解决方式。问题一错误描述error:exportArchive:Missingsigningidentifierat"/var/folders/fr//T/Xcode
Note:thisquestioncouldlookoddonsystemsnotsupportingtheincludedemoji.这是HowdoIremoveemojifromstring的后续问题.我想构建一个正则表达式来匹配所有可以在MacOSX/iOS中输入的表情符号。明显的Unicodeblock涵盖了大部分,但不是所有这些表情符号:U+1F300..U+1F5FFMiscellaneousSymbolsAndPictographsU+1F600..U+1F64FEmoticonsU+1F650..U+1F67FOrnamentalDingbatsU+1F680..U+1
我在MySQL数据库中有一个英语词典,其中只有超过250K个条目,我正在使用一个简单的ruby前端在字符串的开头使用通配符来搜索它。到目前为止,我一直这样做:SELECT*FROMwordsWHEREwordLIKE'_e__o'甚至SELECT*FROMwordsWHEREwordLIKE'____s'我总是知道单词的确切长度,但除了一个字符之外的所有字符都可能是未知的。这比糖蜜慢,比没有前导通配符的类似查询慢大约15倍,因为无法使用该列的索引。我尝试了几种方法来缩小搜索范围。例如,我添加了26个额外的列,其中包含每个单词的单个字母计数,并首先使用这些列来缩小搜索范围。我也试过按
在ruby中是否有更“干”的方式来执行以下操作?#!/usr/bin/envrubyclassVolumeattr_accessor:name,:size,:type,:owner,:date_created,:date_modified,:iscsi_target,:iscsi_portalSYSTEM=0DATA=1definitialize(args={:type=>SYSTEM})@name=args[:name]@size=args[:size]@type=args[:type]@owner=args[:owner]@iscsi_target=args[:iscsi_ta
当我的应用启动时,情节板启动屏幕显示我的图像如预期的,但部分被灰色盒子覆盖。有人可以让我知道图像框的来源吗?启动屏幕上唯一的东西是页面上的图像。这是屏幕截图:看答案您是否检查了启动图像是否损坏了?
我正在尝试执行以下操作:在我的appDelegate中,我正在设置一个cookie。之后,我尝试使用来自网络应用程序的JavaScript读取该cookie。这可能吗?因为我不能让它工作...这是我在iOS应用程序中的代码:NSMutableDictionary*cookieProperties=[NSMutableDictionarydictionary];[cookiePropertiessetObject:@"test"forKey:NSHTTPCookieName];[cookiePropertiessetObject:@"yes"forKey:NSHTTPCookieValu
我有一个客户有一台原装iPad,我注意到它doesn'tsupportthe.bindmethod.问:如果我的老板坚持支持IOS5.1.1,是否有其他方法可以将变量传递给回调?我不认为我可以简单地将变量放入全局范围,因为如果我在循环中,我设置的变量可能会覆盖回调正在寻找的同一个变量。 最佳答案 您可以使用MDN提供的实现,甚至可以使用您自己的实现。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bin
在我的网站上用iPad测试词缀后,我发现它不能正常工作,我用眼镜观察它是iOS的问题https://github.com/twbs/bootstrap/issues/11560目前还没有简单的解决方案。iOSjusthasproblemswithcalculatingfixedpositionasyouscroll.Basicallyyoudon'tgetanupdatedfixedpositionuntilaslightdelayafteryoustopscrolling有什么我可以做的让它工作吗,可能有人已经做了一些解决? 最佳答案
首先,我知道contenteditable仅适用于iOS5我已经说明了这一点-我们为iOS5用户提供了一项功能,允许使用contenteditable进行富文本粘贴。到目前为止,此功能非常有效,我想做的就是当View似乎将contenteditable字段设置为事件(预选)以便出现键盘并且用户可以立即开始键入。这是我用于UIWebView的本地html文件PLACEHOLDER我已经尝试使用一些javascript来完成此操作,使用我找到的用于预选文本输入的教程。我无法让它工作,即使我试图切换到文本输入字段进行测试。这可能是由于我对javascipt缺乏经验,所以如果这是解决方案,请明