当键盘types从诸如数字键盘之类的改变为默认时,有很多关于通知用户的post 。 这个问题是关于什么时候用户实际上点击默认键盘上的[123]或[ABC]button..基本上我想知道这个屏幕 改变到这个屏幕 试试这个: -(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { NSLog(@"::::::: this is text field type %d", searchBar.keyboardType); 自然总是给我回0这是默认的键types..因为它假设两者是相同的键盘types。
我遇到的问题是UITextField中的文本消失iOS上的每一个其他键盘。 这个问题发生在多个视图控制器中,但之前我已经能够通过使文本框更高来解决问题,给它更多的空间来绘制文本里面。 该解决scheme不适用于这种特殊情况。 我为我的应用程序使用自定义字体,所以我使用UITextField的子类来自动设置自定义字体的文本字段。 我已经尝试恢复到基本的UITextField,但这并不能解决问题。 我也试过注释掉我在问题视图控制器中实现的委托方法,这不能解决我的问题。 我真的不知道还有什么可以尝试的,所以我希望这里的其他人可以指出我的方向。 以下是我迄今发现的关于我的问题的事情: 文本消失并且每次点击都会重新出现,虽然点击退格button并不会改变文本的出现/消失(例如,当文本可见时点击退格,文本被正常删除,如果在文本被隐藏时点击,字符从文本字段的文本中删除,但用户无法看到发生了什么) 文本显示在文本框的底部,文本框是第一个响应者 当不同的文本字段成为第一响应者时,有问题的文本字段中的文本将被正确地绘制,垂直居中在文本字段中,并且始终可见。 当文本字段中包含文本时,先创build一个文本字段,这将导致文本重绘,并显示为在文本字段中向上/向下滚动。 文本将交替地在文本框中居中绘制,并从视图中向下“滚动”,或者被拖出视图并“滚动”到视图中,并停留在文本框的底部。 视图控制器只有在呈现的两种模式中的一种模式下出现问题。它或者以模态方式作为UINavigationController的根视图控制器呈现,或者作为导航控制器的第三视图控制器被推入模态呈现的UINavigationController堆栈中。 在第一种情况下,它是根视图控制器,文本字段工作得非常好,没有出现上述的奇怪行为。 在第二种情况下,奇怪的行为始终如一。 这个问题的一个很好的例子可以在这个类似的问题发布的video中看到: UITextField文本每隔一个按键就会消失 。 问题本身的答案是没有用的,并不能解决我的问题。 编辑 我已经成功地重现了我之前遇到的问题。 事实certificate,问题是由导航控制器的视图添加一个子视图,然后删除它,而UITextField焦点。 如果在未编辑UITextField时删除子视图,则不会发生该错误。 在我的情况下,在networking调用期间,导航控制器中将加载图像作为子视图添加到导航控制器中,并在完成所述调用之后将其移除。 在这段时间里,UITextField会被激活,这会导致上面描述的视觉错误。 我已经在这里上传的独立示例项目中重新创build了这个bug: https : //www.dropbox.com/s/s4kc05vg1pwteeo/Funky%20TextField%20Tester.zip 。 另外请注意,如果您告诉textField成为视图控制器的viewDidLoad实现中的第一响应者,则此错误将在开始时立即生效并保留。 新问题 对于我来说,避免将加载视图放在导航控制器的视图中是很容易的,但是这样做给了我一个很好的效果,即加载视图在屏幕上的相同位置“浮动”,而将其放入视图控制器的视图在导航堆栈上引发了一堆视觉问题(当视图控制器被压入堆栈时,移动加载视图位置,加载视图被其他视图控制器遮挡等)。 有没有什么方法可以在不将视图放到导航控制器的视图中的情况下重现这种外观,或者可以将其放置在导航控制器的视图中,而不需要执行奇怪的解决方法,如在子视图呈现期间停止编辑所有UITextFields ?
有没有简单(甚至不是那么简单)的方式来传输less量的数据(一些小string和偶尔的数字)之间使用Unity的iOS设备? 我知道资产商店中有一些资产,但是这些资产是50美元以上,而且过于矫枉过正。 还是有一个很好的教程,我可以遵循?
可能重复: 如何从Cocoa / WebKit应用程序中的JavaScript调用Objective-C方法? 如何从Javascript调用Objective-C? 有没有办法在UIWebView上从JavaScript调用Objective-C代码? 在Android中,我可以从Web视图的JavaScript脚本调用Android方法,该脚本处理导航到应用程序中的另一个页面。 我如何在iOS中做到这一点?
我有一个疑问,如何从纯c函数获取返回值swift。 在这里我的代码: 在ViewController.swift // swift文件 var name = getPersonName() 在personList.h // C头文件 char getPersonName(); 在personList.c //纯C文件 #include personList.h char getPersonName() { char* name = "Hello, Swift"; return name; } 在这里,我已经使用MyProjectName-Bridging-Header.h通过网桥链接personList.h文件。 谢谢
我在商店有一个应用程序,它允许显示第一个视图中的项目列表,第二个视图中的项目细节。 我使用urlscheme访问来自外部来源(例如Facebook的一个项目的细节) 我的问题:如果应用程序没有安装在设备中,是否有任何方式允许下载应用程序,并打开它在正确的项目(使用URLscheme) 预先感谢
我正在一个项目的中间,我想在我的MFC\C++应用程序中重用iOS应用程序的SQLite数据库。 iOS数据库使用“sqlite3_key()”进行encryption,并使用SQLCipher进行数据库处理。 和 我在CppSQLite3 Wrapper的帮助下使用SQLiteEncrypt进行数据库处理。 但是,当我试图执行数据库上的任何语句抛出和exceptionFile is encrypted or not a database 。 我没有得到任何领先。 任何人都可以帮我解决这个问题吗? 我知道它的下列问题的重复,但问题是无效的 ,我不能从这个问题得到任何答案。 1. 如何使用SQLite数据库从一个平台(iOS)到另一个(Windows) 2. 如何从另一个平台(iOS到Windows)打开和读取SQLite数据库, 请帮我解决这个问题。
在我的应用程序中,想从date开始(即Sunday , Monday等)。 我的代码如下: NSDate *currentDate = [NSDate date]; NSCalendar *calendar = [NSCalendar currentCalendar]; //ask for current week NSDateComponents *comps = [[NSDateComponents alloc] init]; comps=[calendar components:NSWeekCalendarUnit|NSYearCalendarUnit fromDate:currentDate]; //create date on week start NSDate* weekstart=[calendar dateFromComponents:comps]; //add 7 days NSMutableArray* week=[NSMutableArray arrayWithCapacity:7]; for (int i=1; i<=7; i++) { NSDateComponents *compsToAdd = [[NSDateComponents alloc] init]; compsToAdd.day=i; NSDate […]
我想清除我的arrays,我做的是, 我有我的应用程序中的tableview视图,首先我从服务器获取数据并将其加载到tableView中。 -(void)viewDidLoad{ //fetching data from server using background thread and storing it in array called (msg_array) [table reloadData]; } 当最后一行出现在屏幕上,我想从服务器获取新的数据,我想显示它, -(void)LoadMoreData{ //this method gets fire when last cell is on screen if ([msg_array count]>0) { [msg_array removeAllObjects]; //crashes here } } 这给出了错误: Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI removeAllObjects]: unrecognized selector […]
我正在尝试使用代码创build一个button“on the fly”,并且我希望该button执行到不同的控制器的继续。 据我所知,以编程方式创buildsegue是不可能的,但如果创build的button不在我的故事板上,我怎么能通过? 这是创buildbutton的代码: – (void)addButton:(UIView*)view inLocation:(CGPoint)point { UIButton *but=[UIButton buttonWithType:UIButtonTypeRoundedRect]; but.frame= CGRectMake(point.x, point.y,30,30); [but setTitle:@"CHOOSE" forState:UIControlStateNormal]; // The nilSymbol should call a method that will perform the segue [but addTarget:self action:@selector(nilSymbol) forControlEvents:UIControlEventTouchUpInside]; [view addSubview:but]; } 任何选项来做到这一点?