- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 2 个自动完成 UITextField
这将在输入文本时触发表格 View 。其中一个我正在使用MVPlaceSearchTextField .我使用 this 自定义构建的另一个.
当我输入 txtPlaceSearch 文本字段时,txtActivity UITextField
表格 View 将触发。我怀疑当我输入 txtPlaceSearch 文本字段时会调用以下内容。
- (BOOL)textField:(UITextField *)txtActivity shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
UITextField
, txtPlaceSearch tableView 不会触发。
#import "Search.h"
#import <QuartzCore/QuartzCore.h>
#import "AppDelegate.h"
#import <GoogleMaps/GoogleMaps.h>
#import <GooglePlaces/GooglePlaces.h>
@interface Search()
@end
@implementation Search {
AppDelegate *appDelegate;
NSString *sURL, *strResult, *sRemaining;
}
@synthesize lblStart;
@synthesize lblEnd;
@synthesize sCategory;
@synthesize autocompleteTableView;
@synthesize autocompleteMArray;
- (void)viewDidLoad
{
[super viewDidLoad];
_txtPlaceSearch.placeSearchDelegate = self;
_txtPlaceSearch.strApiKey = @"AIzaSyBJvZbCA-BiAE3HBgdrm6TTjAiVkYTU9Kk";
_txtPlaceSearch.superViewOfList = self.view; // View, on which Autocompletion list should be appeared.
_txtPlaceSearch.autoCompleteShouldHideOnSelection = YES;
_txtPlaceSearch.maximumNumberOfAutoCompleteRows = 5;
strResult = @"5|ALABAMA|Bohemian|CANADA|Denmark|Fin|";
NSString *sSeparator= @"|";
NSRange range = [strResult rangeOfString:sSeparator];
NSInteger position = range.location + range.length;
NSString *sLoop = [strResult substringToIndex:position-1];
sRemaining = [strResult substringFromIndex:position];
sCategory = [[NSMutableArray alloc] init];
for (int i = 0; i< [sLoop intValue]; i++) {
range = [sRemaining rangeOfString:sSeparator];
position = range.location + range.length;
NSString *sCatName = [sRemaining substringToIndex:position-1];
sRemaining = [sRemaining substringFromIndex:position];
[sCategory addObject:sCatName];
}
NSLog(@"The Array : %@ ", sCategory);
//--- Configure the TableView
self.txtActivity.delegate = self;
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
//Optional Properties
_txtPlaceSearch.autoCompleteRegularFontName = @"HelveticaNeue-Bold";
_txtPlaceSearch.autoCompleteBoldFontName = @"HelveticaNeue";
_txtPlaceSearch.autoCompleteTableCornerRadius=0.0;
_txtPlaceSearch.autoCompleteRowHeight=35;
_txtPlaceSearch.autoCompleteTableCellTextColor=[UIColor colorWithWhite:0.131 alpha:1.000];
_txtPlaceSearch.autoCompleteFontSize=14;
_txtPlaceSearch.autoCompleteTableBorderWidth=1.0;
_txtPlaceSearch.showTextFieldDropShadowWhenAutoCompleteTableIsOpen=YES;
_txtPlaceSearch.autoCompleteShouldHideOnSelection=YES;
_txtPlaceSearch.autoCompleteShouldHideClosingKeyboard=YES;
_txtPlaceSearch.autoCompleteShouldSelectOnExactMatchAutomatically = YES;
_txtPlaceSearch.autoCompleteTableFrame = CGRectMake((self.view.frame.size.width-_txtPlaceSearch.frame.size.width)*0.5, _txtPlaceSearch.frame.size.height+100.0, _txtPlaceSearch.frame.size.width, 200.0);
[self cofigureAutoComTableView];
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}
- (BOOL)textField:(UITextField *)txtActivity shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
autocompleteTableView.hidden = NO;
NSString *substring = [NSString stringWithString:txtActivity.text];
substring = [substring
stringByReplacingCharactersInRange:range withString:string];
[self searchAutocompleteEntriesWithSubstring:substring];
return YES;
}
- (void)searchAutocompleteEntriesWithSubstring:(NSString *)substring
{
autocompleteMArray = [[NSMutableArray alloc] init];
[autocompleteMArray removeAllObjects];
if ([substring length] > 0)
{
for(NSString *curString in sCategory)
{ //**** sCategory is a mutable array generated in another method not shown ****
NSRange substringRange = [curString rangeOfString:substring];
if (substringRange.length > 0)
{
[autocompleteMArray addObject:curString];
}
}
}
else
{
autocompleteTableView.hidden = YES;
}
NSLog(@"*******The autocompleteMArray : %@ ", autocompleteMArray);
[autocompleteTableView reloadData];
}
-(void)cofigureAutoComTableView
{
autocompleteTableView = [[UITableView alloc] initWithFrame:CGRectMake(self.txtActivity.frame.origin.x,self.txtActivity.frame.origin.y+32,_txtActivity.frame.size.width, 200) style:UITableViewStylePlain];
autocompleteTableView.delegate = self;
autocompleteTableView.dataSource = self;
autocompleteTableView.scrollEnabled = YES;
//autocompleteTableView.
autocompleteTableView.hidden = YES;
[self.view addSubview:autocompleteTableView];
CALayer *layer = autocompleteTableView.layer;
[layer setMasksToBounds:YES];
[layer setCornerRadius: 0.0];
[layer setBorderWidth:1.0];
[layer setBorderColor:[[UIColor blackColor] CGColor]];
}
- (void)tableView: (UITableView*)tableView willDisplayCell: (UITableViewCell*)cell forRowAtIndexPath: (NSIndexPath*)indexPath
{
UIFont *myFont = [ UIFont fontWithName: @"HelveticaNeue" size: 14.0 ];
cell.textLabel.font = myFont;
if(indexPath.row % 2 == 0)
cell.backgroundColor = [UIColor lightGrayColor];
else
cell.backgroundColor = [UIColor whiteColor];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 35.0;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return autocompleteMArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"cellIdentifier";
UITableViewCell *cell = [self.autocompleteTableView dequeueReusableCellWithIdentifier:cellIdentifier];
if(cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
cell.textLabel.text = [autocompleteMArray objectAtIndex:indexPath.row];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
{
NSLog(@"Selected Cell %@", [autocompleteMArray objectAtIndex:indexPath.row]);
autocompleteTableView.hidden = YES;
_txtActivity.text = [autocompleteMArray objectAtIndex:indexPath.row];
}
#pragma mark - Place search Textfield Delegates
-(void)placeSearch:(MVPlaceSearchTextField*)textField ResponseForSelectedPlace:(GMSPlace*)responseDict{
[self.view endEditing:YES];
NSLog(@"SELECTED ADDRESS :%@",responseDict);
}
-(void)placeSearchWillShowResult:(MVPlaceSearchTextField*)textField{
}
-(void)placeSearchWillHideResult:(MVPlaceSearchTextField*)textField{
}
-(void)placeSearch:(MVPlaceSearchTextField*)textField ResultCell:(UITableViewCell*)cell withPlaceObject:(PlaceObject*)placeObject atIndex:(NSInteger)index{
if(index%2==0){
cell.contentView.backgroundColor = [UIColor colorWithWhite:0.9 alpha:1.0];
}else{
cell.contentView.backgroundColor = [UIColor whiteColor];
}
}
最佳答案
在 shouldChangeCharactersInRange
你应该检查一下 UITextField
正在使用。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ([textField isEqual:txtActivity]) {
autocompleteTableView.hidden = NO;
NSString *substring = [NSString stringWithString:txtActivity.text];
substring = [substring
stringByReplacingCharactersInRange:range withString:string];
[self searchAutocompleteEntriesWithSubstring:substring];
return YES;
} else if ([textField isEqual:txtPlaceSearch]) {
// Do whatever you want when using |txtPlaceSearch|
}
return YES;
}
关于ios - 输入一个 Autocomplete TextField 会弹出另一个 Autocomplete TextField TableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49604927/
我正在开发转换器应用程序。在 iOS 中,我们没有下拉菜单之类的东西。对于一两次转换,这不是问题。但是对于相同类型的多次转换(比如时间:年到月、日、小时、分钟和秒),我们也有相反的转换。它使 UIVi
目前我的 SwiftUI 的光标/插入符号 TextField是蓝色的。是否有用于光标颜色或解决方法的 API? 最佳答案 试了一下, .accentColor 诀窍。 TextField(" Ent
我需要有关此功能的帮助。当我在文本字段中输入文本时,我需要您在我输入另一个文本字段时验证该文本。 这是我的代码 class _ProfileState extends State {
所以在 swift 3 中,我只想遍历 textField outlet 集合,如果 textField.text = "",则对其进行处理。我已经完成了以下操作,但我相信应该有一个更优雅的解决方案,
我正在尝试: 使 TextField 的 trailingIcon 仅在用户输入空格以外的文本时才可见。 稍后当用户单击 trailingIcon 时,TextField 中的文本应该被清除并且 tr
我目前正在尝试实现一个 TextField,它应该根据文本字段的状态(未聚焦、聚焦、错误)更改背景颜色。 我试图通过使用仅管理是否选择了 TextField 的列表来实现此目的。我使用 Gesture
我目前正在我的应用程序中构建一些基本的表单功能,并且在点击另一个 TextField 或在编辑模式下按“完成”时,我遇到了 TextFields 没有更改相关绑定(bind)变量中的值的问题。
我想要一个如下所示的文本字段: 文本字段。文本域 。文本域。文本字段 并在文本字段中仅输入数字。你能帮我吗? :) 最佳答案 您不需要父文本字段来充当 4 个文本字段的容器。将 4 个文本字段放置在面
你好,占位符文本和用户输入的文本从我的文本字段中间开始。我将文本字段设置为屏幕高度的 30%,所以我不能简单地缩小文本字段。如何让文本从左上角开始? 最佳答案 你想要做的是水平和垂直对齐,如下所示:
我遇到了一些奇怪的问题,如果您点击其中一个 TextField,它总是会被清除。 class MyEditText extends StatefulWidget { static String t
我在实现 TextField 时遇到了一些困难。更具体地说,我尝试使用 Controller 清除按钮的 onPress 方法上的 TextField。 controller.clear() 从 Te
有没有一种方法可以让当用户在一个文本字段和另一个文本字段(例如 1 和 1)中输入值时,第三个文本字段立即计算总和并显示它无需向 GUI 添加按钮? 最佳答案 向您的 TextField 添加一个文档
使用 ABCPDF 添加 TextField 相当简单: public FormField AddTextField(string inRect, string inName, string inTe
有两个文本字段(具有自动完成功能): Customer: Store: 如您所见,最初我禁用了第二个文本字段。我想要的是当用户完成从客户文本框中选择项目时,应该启用商店文本框。这是我尝试过
假设我有一个社交网络(例如: http://www.icloud.com/ )。该网站上有 2 个文本字段:电子邮件、密码。 我想为该网站制作一个应用程序,您可以直接从该应用程序登录。在应用程序上,我
在我的添加联系人页面中,正在验证我的电子邮件文本字段、电话号码字段等。并在单击所有其他文本字段时检查有效电子邮件。因此,当我单击电话号码字段时,它将检查电子邮件有效性并在电子邮件无效时显示警报 Vie
使用 TextField View 时,我的 SwiftUI 项目出现奇怪的行为。 使用以下代码,TextField textContentType 设置为 nil(或 .none,或 UITextC
我有一个 TextField 和一个 Text 小部件,它们应该实时显示在 TextField 中编写的文本。 这是代码: late final TextEditingController _imp
我有 2 个自动完成 UITextField这将在输入文本时触发表格 View 。其中一个我正在使用MVPlaceSearchTextField .我使用 this 自定义构建的另一个. 当我输入 t
我创建了一个函数,可以“映射”对象数组并使用该信息创建material-ui TextField 元素。当用户输入的字符超过 maxLength 时,我尝试输出错误消息。我想仅显示用户当前通过“onC
我是一名优秀的程序员,十分优秀!