2013-07-02 3 views
2

Я начинаю в ios .... В одном из моих действий я создал Пользовательский scrollView и на нем Я создал некоторые пользовательские textField .. Теперь, когда мы нажимаем на textField, тогда мой пользовательский tableView открывается, но этот стол смешивается с уже существующим textField .... Если я добавлю эту таблицу на UIView, тогда она не прокручивается ...... так, как переписать на прокрутку textField и прокрутить вкладку с textField. .... Я указал все table delegates, и таблица отображается правильно, но проблема с прокруткой возникла ....как перезаписать содержимое ScrollView в ios или изменить фокус

scrollview=[[UIScrollView alloc]initWithFrame:CGRectMake(0,60,320,540)]; 
[scrollview setContentSize:CGSizeMake(800,1500)]; 

scrollview.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight); 
scrollview.autoresizesSubviews = YES; 

scrollview.scrollEnabled = YES; 
scrollview.delegate = self; 
scrollview.directionalLockEnabled = YES; 

scrollview.showsVerticalScrollIndicator = YES; 

scrollview.showsHorizontalScrollIndicator = YES; 

scrollview.autoresizesSubviews = YES; 
scrollview.backgroundColor=[UIColor whiteColor]; 
[self.view addSubview:scrollview]; 

AdviseDr=[[UITextField alloc]initWithFrame:CGRectMake(150,110,140,30)]; 
AdviseDr.font = [UIFont boldSystemFontOfSize:15.0]; 
AdviseDr.borderStyle = UITextBorderStyleLine; 
AdviseDr.clearButtonMode = UITextFieldViewModeWhileEditing; 
AdviseDr.delegate =self; 
AdviseDr.tag=1; 
[scrollview addSubview:AdviseDr]; 

table_AdviseDoctor=[[UITableView alloc]initwithframe:CGRectMake(150,200,170,200)style:UITableViewStylePlain];               
table_AdviseDoctor.delegate=self; 
table_AdviseDoctor.dataSource=self; 
table_AdviseDoctor.layer.borderWidth = 2.0; 
table_AdviseDoctor.layer.borderColor = [UIColor grayColor].CGColor; 
[self.view addSubview:table_AdviseDoctor]; 
table_AdviseDoctor.hidden=YES; 
Medicalfacility=[[UITextField alloc]initWithFrame:CGRectMake(150,150,170,30)]; 
Medicalfacility.font = [UIFont boldSystemFontOfSize:15.0]; 
Medicalfacility.borderStyle = UITextBorderStyleLine; 
Medicalfacility.delegate =self; 
Medicalfacility.tag=2; 
[scrollview addSubview:Medicalfacility]; 
[Medicalfacility addTarget:self action:@selector(btnpress1:)forControlEvents:UIControlEventEditingDidBegin]; 
+0

[self.view addSubview: table_AdviseDoctor]; ** вместо ** [self.scrollview addubView: table_AdviseDoctor]; , , , , –

+0

«Столешница с уже существующими текстовыми полями» означает именно то, что? – Durgaprasad

ответ

0

лучшего варианта в том, что, когда вы нажали на UITextField в то время также скрыть ваш UITextField так что ваш UITextField не Mixup с UITableView, и когда Вы удалить/скрыть ваш UITableView в то время вашего скрытые UITextField снова UNHIDE (дают скрытый = NO). Иными словами, есть много способов решить вашу проблему, мне нравится этот вариант, поэтому я предлагаю вам.

Другой вариант.

Возьмите UITableView в UIView, я надеюсь, что вы уже знаете, что UITableView имеет свой собственный ScrollView, поэтому вам не нужно вставлять/над любым scrollView.

И когда вы нажимаете на UITextFiled, которые находятся в UIScrollView в то время вы также поставить ограничение, что пользователь не может сделать с UIScrollView и UITextField также (дать userInteraction = NO). поэтому также дайте (дайте userInteraction = YES), когда ваш UITableView скрыт.

+0

Это правильный вариант, но есть текстовое поле 7-8 и кнопка 4-5, которые покрывают всю длину стола, поэтому я хочу еще один вариант ..... – rahul

+0

@ rahul- проверить мой другой вариант :) – iPatel

0

UserInteraction подходит для вас, но вы знаете, когда мы пишем это [self.view addedubview: Table_AdviseDoctor], тогда ... когда мы прокручиваем уже и затем нажимаем на текстовое поле, тогда моя таблица открыта долго внизу из требуемой позиции, тогда мы пишем код UserInteraction.enable = Нет; то прокрутка не работает это право, но сначала прокрутите, а затем щелкните по тексту, и тогда проблема возникает неправильно ...

Смежные вопросы