一直习惯用UIImageView作为背景,但直接把按钮或者UITextField放在上面无法相应事件。如下面:
UIImageView * commentBG = [[UIImageViewalloc]initWithFrame:CGRectMake(0,370,320, 35)];
commentBG.image = [[UIImageimageNamed:@"seachbg.png"]stretchableImageWithLeftCapWidth:2topCapHeight:2];
UITextField * commentField = [[UITextFieldalloc]initWithFrame:CGRectMake(10,10,250,30)];
commentField.borderStyle =UITextBorderStyleRoundedRect;
commentField.placeholder =@"写评论";
commentField.backgroundColor = [UIColorwhiteColor];
commentField.delegate =self;
commentField.returnKeyType =UIReturnKeyGo;
[commentBG addSubview:commentField];
[commentField release];
[self.viewaddSubview:commentBG];
[commentBG release];
这是因为UIImageView默认的UserInteractionEnabled是NO,修改方法可以在添加
commentBG.UserInteractionEnabled=NO;
也可以建一个UIView,把背景放在UIView上,再把按钮或者UITextField放在UIView上面。如下面:
UIView * commentView = [[UIViewalloc]initWithFrame:CGRectMake(0,370,320, 35)];
UIImageView * commentBG = [[UIImageViewalloc]initWithFrame:CGRectMake(0,370,320, 35)];
commentBG.image = [[UIImageimageNamed:@"seachbg.png"]stretchableImageWithLeftCapWidth:2topCapHeight:2];
[commentView addSubview:commentBG];
[commentBG release];
UITextField * commentField = [[UITextFieldalloc]initWithFrame:CGRectMake(10,10,250,30)];
commentField.borderStyle =UITextBorderStyleRoundedRect;
commentField.placeholder =@"写评论";
commentField.backgroundColor = [UIColorwhiteColor];
commentField.delegate =self;
commentField.returnKeyType =UIReturnKeyGo;
//commentField.userInteractionEnabled = YES;
[commentView addSubview:commentField];
[commentField release];
[self.viewaddSubview:commentView];
[commentView release];