2012-05-02 4 views
2

Я хочу, чтобы текстовое поле не редактировалось при первом запуске приложения. И у меня есть элемент UIBarbutton, нажав на него, это сделает текстовое поле редактируемым. Я пытаюсь под кодом, но не работает.Как сделать текстовое поле не редактируемым при первом запуске приложения

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ 
if(edit == NO){ 
    textField.enabled = NO; 
} 
    if(edit == YES){ 
    textField.enabled = NO; 
    } 
return YES;} 

ответ

2

Вы должны использовать этот метод

-(Void)viewwillappers 
{ 
    [textfield setEnable:NO]; 
} 

после кнопки нажмите бар установить его да в Button метод Click.

+1

Этот метод [текстовое поле setEnable: NO]; следует поместить в viewdidLoad согласно требованию virendra. –

+0

Ya @jay вы правы, но если virendra переходят в другой вид и возвращаются, и он хочет то же самое, то vewdidload не работает, оба одинаковы, поэтому не беспокоятся об этой вещи или об этом еще одном комфорте для него. – vishiphone

+0

, так что вы нажимаете на меня отрицательно на репутацию репутации? – vishiphone

0

Простой.

в XIB, для свойств textrField, в снимите флажок "взаимодействие пользователя с поддержкой"

.Теперь на события нажатия на панели кнопок используют это:

[textfield setEnable:NO]; 

ПРЕИМУЩЕСТВА:

, когда вы снова загрузить это мнение. Сначала, что textField будет отключен.

Так оно будет делать, как вы хотите.

0
- (UITableViewCell *)tableView:(UITableView *)tableView 
    cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
static NSString *MyIdentifier = @"tblCellView"; 

PlayerDetailsCell *cell = (PlayerDetailsCell *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier]; 
if(cell == nil) { 
    [[NSBundle mainBundle] loadNibNamed:@"PlayerDetailsCell" owner:self options:nil]; 
    cell = tblCell; 
} 
return cell; 
} 

Используйте этот код в вашем представлении таблицы и вызвать ваш UITableViewCell class.like Я звоню (playerdetailscell)

+0

Почему вы отправляете ответы более одного раза? –

+0

потому что у него более одного вопроса за раз. – vishiphone

+0

@anonymous, если это неправильно, я буду знать в следующий раз. – vishiphone

2
txtfld.userInteractionEnabled = NO; 
// perform changes and enable afterwards 
txtfld.userInteractionEnabled = YES; 
+0

@ virendra Дайте мне одно голосование, пожалуйста, –

1
- (UITableViewCell *)tableView:(UITableView *)tableView 
    cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
static NSString *CellIdentifier = @"Cell"; 
UITableViewCell *cell = [tableView 
         dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[[UITableViewCell alloc] 
      initWithStyle:UITableViewCellStyleValue1 
      reuseIdentifier:CellIdentifier] 
      autorelease]; 
} 
cell.textLabel.text=[Players objectAtIndex:indexPath.row]; 

playername=[[UITextField alloc]initWithFrame:CGRectMake(10, 3, 280, 30)]; 
[email protected]"Player"; 
playername.delegate=self; 
playername.keyboardType=UIKeyboardTypeDefault; 
// playername.returnKeyType=UIReturnKeyDone; 
[cell.contentView addSubview:playername]; 
return cell; 
} 

использовать это для динамического текстового поля.

+0

работает нормально ......., но все еще не удается отключить взаимодействие текстового поля. – iosDev

+0

Почему вы публикуете ответы более одного раза? –

+0

Это не имеет никакого смысла. –

2

попробовать это

-(Void)viewwillapper 

{ 

[textfield setuserintractionEnable:yes]; 

} 
2

Вы можете использовать - (void)viewWillAppear:(BOOL)animated делегат для этого,

- (void)viewWillAppear:(BOOL)animated 
{ 
    [textfield setEnable:NO]; 
} 

И писать [textfield setEnable:YES]; в методе Нажмите на кнопку Бара,

- (IBAction)clicked:(id)sender 
    { 
    [textfield setEnable:YES]; 
    } 

Если вы используете выше кода, тогда, если вы перейдете к другому виду (подробный вид) и вернитесь то также будет отключен textField. Если вы не хотите этого, то используйте следующий код:

- (void)viewDidLoad 
{ 
    [textfield setEnable:NO]; 
} 

Более подробную информацию о делегатах вида контроллера: UIViewController Class Reference

1

Кроме того, если вы используете раскадровки, вы можете просто просто снимите флажок " включен "флажок TextField. Должен сделать трюк.

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