iphone – 在xcode中UIPIckerView顶部的ToolBar?
发布时间:2020-12-14 19:53:22 所属栏目:百科 来源:网络整理
导读:我需要在UIPickerView的顶部添加一个带有完成按钮的工具栏.我不想使用actionSheet,因为我希望视图的其余部分处于活动状态.我已经去了以下代码: - (BOOL)textFieldDidBeginEditing:(UITextField *)textField { [txtstate resignFirstResponder]; pickerView
我需要在UIPickerView的顶部添加一个带有完成按钮的工具栏.我不想使用actionSheet,因为我希望视图的其余部分处于活动状态.我已经去了以下代码:
- (BOOL)textFieldDidBeginEditing:(UITextField *)textField { [txtstate resignFirstResponder]; pickerView = [[UIPickerView alloc]init] ; pickerView.frame=CGRectMake(10,75,180,20); pickerView.delegate = self; pickerView.showsSelectionIndicator = YES; UIToolbar* toolbar = [[UIToolbar alloc] init]; toolbar.frame=CGRectMake(0,10); toolbar.barStyle = UIBarStyleBlackTranslucent; UIBarButtonItem *flexibleSpaceLeft = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; UIBarButtonItem* doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneClicked:)]; [toolbar setItems:[NSArray arrayWithObjects:flexibleSpaceLeft,doneButton,nil]]; textField.inputAccessoryView = toolbar; [pickerView addSubview:toolbar]; [self.view addSubview:pickerView]; } 通过使用上面的代码,我的工具栏被添加,但它被隐藏在UIPickerView下,它被添加到中间.如何让工具栏显示在前面(在UIPickerView的顶部)? 解决方法
你可以使用这个getPicker
-(void)getValuePicker { ViewForValuePicker = [[UIView alloc]initWithFrame:CGRectMake(0,219,320,266)]; UIToolbar *toolBar = [[UIToolbar alloc]initWithFrame:CGRectMake(0,44)]; toolBar.barStyle = UIBarStyleBlackOpaque; UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneBtnPressToGetValue)]; [toolBar setItems:[NSArray arrayWithObject:btn]]; [ViewForValuePicker addSubview:toolBar]; valuePicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0,44,216)]; valuePicker.delegate=self; valuePicker.dataSource=self; valuePicker.showsSelectionIndicator=YES; [ViewForValuePicker addSubview:valuePicker]; [appDelegate.window addSubview:ViewForValuePicker]; } 及其Delegete方法 -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { return 1; } - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component; { return [pickerValueAry count]; } - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component; { NSMutableArray *ary = [[NSMutableArray alloc] initWithArray:pickerValueAry]; id str=[ary objectAtIndex:row]; return str; } - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { NSLog(@"selectedRowInPicker >> %d",row); } 你可以按照我的回答更多Link (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |