Я столкнулся с большой проблемой. У меня есть textfield
, для которого я выполняю функцию автозаполнения, чтобы отображать список предметов, когда внутри внутри. Я показываю элементы в tableView
(autocomplete tableView). У меня есть UIbutton
ниже textfield
. Теперь, когда я выбираю элемент из текстового поля автозаполнения и нажимаю кнопку, он не отвечает. Я не знаю почему.UIButton вывести на передний план scrollview
Я принес его фронт в didendediting
, а также в didSelectrow
но не use.I добавили UIbutton
к ScrollView
(testScroll)
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
Name.text = selectedCell.textLabel.text;
[Name resignFirstResponder];
[testScroll bringSubviewToFront:btnSearch];
autocompleteTableView.hidden=true;
}
-(void)textFieldDidEndEditing:(UITextField *)textField{
if(textField==CompanyName)
{
[testScroll bringSubviewToFront:btnSearch];
}
}
Где я иду неправильно?
EDIT:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if(textField==Name)
{
autocompleteTableView.hidden = NO;
NSString *substring = [NSString stringWithString:textField.text];
substring = [substring stringByReplacingCharactersInRange:range withString:string];
[self searchAutocompleteEntriesWithSubstring:substring];
return YES;
if([Name.text length]==0)
{
autocompleteTableView.hidden = YES;
}
}
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
parser = [[NSXMLParser alloc] initWithData:receivedData];
[parser setDelegate:self];
[parser setShouldProcessNamespaces:NO];
[parser setShouldReportNamespacePrefixes:NO];
[parser setShouldResolveExternalEntities:NO];
[parser parse];
[parser release];
if([arr4 count]!=0)
{
self.autocompleteUrls = [[[NSMutableArray alloc] init]autorelease];
viewForautoCompleteTableView = [[UIView alloc]initWithFrame:CGRectMake(220, 370, 295, 230)];
if(autocompleteTableView)
[autocompleteTableView removeFromSuperview];
autocompleteTableView = [[UITableView alloc] initWithFrame:CGRectMake(0,0,295,150) style:UITableViewStyleGrouped];
autocompleteTableView.delegate = self;
autocompleteTableView.dataSource = self;
autocompleteTableView.scrollEnabled = YES;
autocompleteTableView.backgroundColor = [UIColor lightTextColor];
autocompleteTableView.rowHeight=28;
autocompleteTableView.backgroundView = nil;
autocompleteTableView.backgroundColor = [UIColor whiteColor];
autocompleteTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
[autocompleteTableView setSeparatorColor:[UIColor orangeColor]];
[viewForautoCompleteTableView setFrame:CGRectMake(220,370 ,295,autocompleteTableView.frame.size.height)];
[viewForautoCompleteTableView addSubview:autocompleteTableView];
[self.view addSubview:viewForautoCompleteTableView];
[autocompleteUrls removeAllObjects];
for(int i=0;i<[arr4 count];i++)
{
NSString *curString = [NSString stringWithFormat:@"%@ %@",[[arr4 objectAtIndex:i] valueForKey:@"Name"],[[arr4 objectAtIndex:i]valueForKey:@"LastName"]];
[autocompleteUrls addObject:curString];
}
}
[autocompleteTableView reloadData];
}
Whay вы используете свиток с табличном ... любые способы изменить цвет всех вид на зеленый красный синий независимо, а затем запустить приложение и будет получить справедливую идею – amar
Привет @arizah, вставить код автозаполнения Tableview , Может быть, после того, как выбранное значение отобразится в текстовом поле, tableview не исчезнет полностью и скрывает кнопку под ним. пожалуйста, проверьте. –
chck if button id touchable – rptwsthi