2012-06-25 5 views
0

charger un fichier xib sous la forme d'un UIView, et j'ai obtenu un UITextField à partir d'un fichier Xib (il s'agit simplement d'une vue contenant un champ de texte et un bouton). Mais quand l'application a lancé et que le champ de texte apparaît. Je ne peux pas taper d'alphabet sur cet UITextField. Mais coller un texte à cet UITextField était OK. Pourquoi? Voici mon code d'ajouterLe clavier UITextField ne peut rien taper

-(IBAction)showSheet{  
    UIView *myView = [[[NSBundle mainBundle] loadNibNamed:@"LoginViewComp" owner:self options:NULL] lastObject];  
    [myView setFrame:CGRectMake(0, 44, 320, 400)]; 

    UIButton *btn1 = (UIButton *)[myView viewWithTag:101]; 
    UITextField *field = (UITextField *)[myView viewWithTag:102]; 
    UILabel *lbl = (UILabel *)[myView viewWithTag:103];  

    [field setEnabled:YES]; 

    [btn1 addTarget:self action:@selector(testBtn1) forControlEvents:UIControlEventTouchUpInside]; 

    DTActionSheet *sheet = [[DTActionSheet alloc] initWithContentView:myView sheetTitle:@"Demo"]; 
    [sheet showInView:self.view]; 
    [sheet setUserInteractionEnabled:YES]; 
} 

-(void)testBtn1{ 
    NSLog(@"btn1 touch up inside");  
} 
@end 

DTActionSheet.m

@interface DTActionSheet() 
@property (nonatomic,strong) UIView* contentView; 
@property (nonatomic,strong) UIToolbar* toolBar; 
@end 

@implementation DTActionSheet 
@synthesize contentView=_contentView; 
@synthesize toolBar=_toolBar; 

-(id)initWithContentView:(UIView*)contentView sheetTitle:(NSString*)title; 
{ 
    self = [super init]; 
    if (self) 
    { 
     _contentView = contentView; 
     int btnnum = (contentView.frame.size.height-5)/50; // (height+44-20-25)/50 
     for(int i=0; i<btnnum; i++) 
     { 
      [self addButtonWithTitle:@" "]; 
     } 
     _toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
     _toolBar.barStyle = UIBarStyleBlackOpaque; 

     UIBarButtonItem *titleButton = [[UIBarButtonItem alloc] initWithTitle:title 
                     style:UIBarButtonItemStylePlain 
                     target:nil 
                     action:nil]; 

     UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" 
                     style:UIBarButtonItemStyleDone 
                     target:self 
                     action:@selector(done)]; 

     UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" 
                     style:UIBarButtonItemStyleBordered 
                     target:self 
                     action:@selector(cancel)]; 

     UIBarButtonItem *fixedButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
                         target:nil 
                         action:nil]; 

     [_toolBar setItems: [NSArray arrayWithObjects:leftButton,fixedButton,titleButton,fixedButton,rightButton,nil]]; 

     [self addSubview:_toolBar]; 
     [self addSubview:_contentView]; 
    } 
    return self; 
} 

-(void)done 
{ 
    [self dismissWithClickedButtonIndex:0 animated:YES]; 
} 
-(void)cancel 
{ 
    [self dismissWithClickedButtonIndex:0 animated:YES]; 
} 
@end 

Xib component

Cannot input any alphabet and number into these 2 text fields

Hé, les gars, une idée?

+0

Pouvez-vous vous assurer de travailler ou non le délégué de votre textfield? –

+0

avez-vous résolu le problème? – Omarj

Répondre

Questions connexes