1、新建view,在View 中添加控件,并且为各个控件设置不同的tag值。
2、新建对应的Object c 对象
-(id)initWithCoder:(NSCoder *)aDecoder{ self=[super initWithCoder:aDecoder]; if (self) { [self initView]; } return self; }
-(void)createPopSearchView{ NSArray * popSearchViews=[[NSBundle mainBundle] loadNibNamed:@"UIPopSearchView" owner:self options:nil]; //UIPopSearchView 为自定义的xib文件名称。 self.popSearchView=[popSearchViews objectAtIndex:0]; if([[UIDevice currentDevice]userInterfaceIdiom]==UIUserInterfaceIdiomPad){ self.popSearchView.frame=CGRectMake(self.mapView.frame.size.width/2-self.popSearchView.frame.size.width/2, self.mapView.frame.size.height/2-self.popSearchView.frame.size.height/2, self.popSearchView.frame.size.width, self.popSearchView.frame.size.height); }else{ self.popSearchView.frame=CGRectMake(15, 25, self.popSearchView.frame.size.width, self.popSearchView.frame.size.height); } self.popSearchView.listener=self; }
3、创建View对象,并初始化。
-(void)initView{ //从布局文件中引用对应的插件。 self.backgroundColor=[UIColor whiteColor]; [[self layer] setCornerRadius:5]; [[self layer] setBorderWidth:2]; [[self layer] setBorderColor:[UIColor blackColor].CGColor]; self.popSearchTitle=(UILabel*)[self viewWithTag:1]; self.popSearchClose=(UIButton*)[self viewWithTag:2]; self.popSearchInput=(UISearchBar*)[self viewWithTag:3]; //去掉searchbar 的边框。 self.popSearchInput.backgroundColor=[UIColor clearColor]; for (UIView *subView in self.popSearchInput.subviews) { if([subView isKindOfClass:NSClassFromString(@"UISearchBarBackground")]){ [subView removeFromSuperview]; } } self.popSearchSearch=(UIButton*)[self viewWithTag:4]; self.popSearchSlider=(UISlider*)[self viewWithTag:5]; self.popSearchSlider.value=0.5; self.popSearchRim=(UILabel*)[self viewWithTag:6]; [self.popSearchClose addTarget:self action:@selector(dismiss) forControlEvents:UIControlEventTouchUpInside]; [self.popSearchSearch addTarget:self action:@selector(search) forControlEvents:UIControlEventTouchUpInside]; [self.popSearchSlider addTarget:self action:@selector(onSliderTouch) forControlEvents:UIControlEventValueChanged]; }