今天写了一个ActionSheet添加的UIPickerView的程序,搜索了很多的资料
- (void)configurePickersAndActionSheets {
CGRect pickerFrame;
if ((self.interfaceOrientation == UIInterfaceOrientationPortrait) ||
(self.interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)) {
pickerFrame = CGRectMake(0, 180, 0, 0);
} else {
pickerFrame = CGRectMake(0,180,480,200);
}
self.areaActionSheet = [[[UIActionSheet alloc] initWithTitle:@"Area" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Use",NULL] autorelease];
self.areaPicker = [[[UIPickerView alloc] initWithFrame:pickerFrame] autorelease];
self.areaPicker.delegate = self;
self.areaPicker.showsSelectionIndicator = YES;
[self.areaActionSheet addSubview:areaPicker];
}
上面的代码就是横屏和纵屏的大小设置
if ((self.interfaceOrientation == UIInterfaceOrientationLandscapeLeft) ||
(self.interfaceOrientation == UIInterfaceOrientationLandscapeRight)) {
[actionSheet setBounds:CGRectMake(0, 0, 480, 480)];
} else {
[actionSheet setBounds:CGRectMake(0, 0, 320, 618)];
}
此处用来设置actionsheet的大小
具体的添加PickerView如下:
UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:[currentData objectAtIndex:0]
delegate:self
cancelButtonTitle:@"Done"
destructiveButtonTitle:@"Cancel"
otherButtonTitles:nil];
UIPickerView *pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0,40,480,200)];
pickerView.delegate = self;
pickerView.showsSelectionIndicator = YES;
[menu addSubview:pickerView];
[menu showInView:self.view];
[menu setBounds:CGRectMake(0,0,480, 320)];
[pickerView release];
[menu release];
OK这个就完成了ActionSheet的操作,可能你还会有一个问题就是在UIPickerView如何设置显示下拉框的
字体大小,即改变显示数组中的字体大小:
需要重写实现如下方法
- (UIView *)pickerView:(UIPickerView *)pickerView
viewForRow:(NSInteger)row
forComponent:(NSInteger)component
reusingView:(UIView *)view{
UILabel *pickerLabel = (UILabel *)view;
if ((pickerLabel == nil) || ([pickerView class] != [UILabel class])) {
CGRect frame = CGRectMake(0, 0, 270, 32);
pickerLabel = [[UILabel alloc] initWithFrame:frame];
pickerLabel.textAlignment =UITextAlignmentLeft;
pickerLabel.backgroundColor = [UIColor clearColor];
pickerLabel.font = [UIFont boldSystemFontOfSize:18];
if (component == kStateComponent) {
pickerLabel.textAlignment = UITextAlignmentCenter;
pickerLabel.text = [self.states objectAtIndex:row];
}
else if(component == kZipComponent){
pickerLabel.textAlignment =UITextAlignmentLeft;
pickerLabel.text = [self.zips objectAtIndex:row];
}
pickerLabel.textColor = [UIColor blackColor];
return pickerLabel;
}
return 0;
}
这样就解决字体大小的问题了.
分享到:
相关推荐
3. 将 UIPickerView 添加到 UIActionSheet 中。 4. 在 delegate 方法中处理用户的选择,并关闭 ActionSheetPicker。 使用 ActionSheetPicker 的优点在于,它可以节省屏幕空间,避免用户在多个视图之间切换,同时...
将封装的UIActionSheet改为UIView,为了多态初始化时添加了枚举(几个时间选择器样式)。 UIActionSheet改为UIView核心代码为以下几个方法: - (void)showInView:(UIView *)view; // UIPicker显示 -(void)...
- 它可以与`UIActionSheet`或`UIAlertController`结合使用,创建弹出式选择器。 - 支持动态加载数据,即在需要时才加载,有利于提高性能。 - 可以通过`UIPickerViewStyle`设置样式,如默认样式和简明样式。 在实际...
接着,通过实现UIPickerView的代理方法和数据源方法,我们可以在pickerView中添加滚动和选择数据的功能。当用户在pickerView中完成数据选择后,通过UIToolBar中的取消和确定按钮来关闭pickerView,并将选中的数据...
它结合了UIActionSheet和UIPickerView的特点,既节省空间又保持了交互性。 在使用`WYPickerViews`时,需要注意以下几点: - 首先,确保正确导入库并添加到项目中。 - 其次,根据选择器类型,初始化对应的实例,并...
2. **在UIAlertController中添加UIPickerView**:使用UIAlertController的addTextFieldWithConfigurationHandler方法,创建一个空的文本字段,然后将UIPickerView作为输入视图附加到该文本字段上。这样,当警告视图...
开发者可以通过查看和运行这个项目,学习如何创建类似的自定义ActionSheet,包括如何添加UIPickerView,如何处理按钮事件,以及如何实现自定义的显示和消失动画。 在实际的开发过程中,自定义ActionSheet可能会涉及...
- 添加Picker View:通过嵌入UIPickerView到UIAlertController的view中,或者使用UIPickerView作为actions的定制视图。 - 定义动作:使用UIAlertAction创建取消或选择的按钮,设置响应者处理用户点击事件。 - ...
- 使用`UIActionSheet`或`UIAlertController`弹出Picker View,增加交互性。 4. 自动布局与尺寸调整: - 在Auto Layout环境下,需要正确设置Picker View的约束,确保它在不同屏幕尺寸下都能正确显示。 - `...
4. `UIPickerView`与`UIActionSheet` `UIPickerView`常用于下拉选择,它可以用于单选,但不直接支持多选。`UIActionSheet`在早期版本的iOS中常用于呈现多选对话框,但现在已被`UIAlertController`替代,因为后者提供...
ActionSheetPicker = UIPickerView + UIActionSheet 好吧,这就是它的开始。 现在,以下内容更为准确: iPhone / iPod的ActionSheetPicker = ActionSheetPicker =选取器+ UIActionSheet iPad ActionSheetPicker =...
- UIPickerView是iOS SDK中的一个类,用于展示一系列可滚动的行,每行代表一个选项。Picker View通常用于日期选择器、下拉列表等场景。 - Picker View有两种主要的显示方式:一种是作为表视图(UITableView)的一...
3. **动画效果**:通过源码学习如何添加过渡动画,使弹出框的出现和消失更加自然流畅,提升用户体验。 4. **数据绑定**:理解如何将数据模型与界面元素绑定,确保用户选择的反馈能够正确更新到应用的数据层。 5. *...
2. 使用UIPickerView:创建Picker View需要实例化UIPickerView对象,并将其添加到视图层级。你可以通过设置`dataSource`和`delegate`属性来指定Picker View的数据源和代理,这两个协议分别定义了Picker View的行数和...
另一种实现下拉框效果的方式是使用UIActionSheet,但iOS 8之后,苹果推荐使用UIAlertController来代替。UIAlertController可以通过添加Picker View作为其输入视图,模拟下拉框的效果。 1. **UIAlertController介绍*...
`UIAlertController`是一个更加通用的弹窗控件,可以替代旧版的`UIAlertView`和`UIActionSheet`。创建`ActionSheet`的基本步骤如下: 1. 首先,导入`UIKit`框架: ```swift import UIKit ``` 2. 创建`...
此外,UICatalog还涵盖了诸如导航栏(UINavigationController)、工具栏(UIToolbar)、标签页控制器(UITabBarController)等容器控件,以及弹出视图(UIActionSheet)、警告视图(UIAlertController)等交互元素的...
- **extension**: 在Swift中使用,用于扩展现有类型的接口,可以添加新的函数、变量或计算属性。 - **protocol**: 定义了一个类、结构体或联合必须实现的一组方法或属性,类似于Java中的接口。 #### 四、代理模式与...
首先,Picker View(UIPickerView)是iOS SDK中的一个组件,它通常用于让用户在多个选项中进行选择。Picker View有两种主要的使用场景:一种是作为TableView的一行显示,另一种是作为键盘上的工具栏(InputView)...
2. 控件类:这些类包括UIButton、UISwitch、UISlider、UIPickerView等,它们为用户提供交互式界面元素。例如,UIButton可以响应用户的点击,执行相应的操作;UISwitch用于开关状态的选择;UISlider则允许用户在一定...