load a xib file as a UIView, and I got a UITextField form a Xib file(it just a view that contains textfield and button). But when the app launched and that textfield comes up. i cannot type any alphabet on this UITextField. But paste a text to that UITextField was OK. Why? Here is my adding code
-(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
Hey, guys, have any idea?
try using UIKeyInput Protocol Reference for input -- http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIKeyInput_Protocol/Reference/Reference.html
make sure to use its delegate..