调整 UIPickerView 的大小

Posted

技术标签:

【中文标题】调整 UIPickerView 的大小【英文标题】:resizing UIPickerView 【发布时间】:2012-07-31 08:50:24 【问题描述】:

我正在尝试在 UIAlertView 中创建一个 UIPickerView,我写了以下代码

UIAlertView *alert = [[UIAlertView alloc] initWithFrame:CGRectMake(0, 0, 300, 200)];

alert.title = @"Preferences";
alert.message = @"\n\n\n\n\n\n\n";
alert.delegate = self;
[alert addButtonWithTitle:@"Cancel"];
[alert addButtonWithTitle:@"OK"];


UIPickerView *myPickerView = [[UIPickerView alloc] initWithFrame:CGRectZero];
myPickerView.delegate = self;
myPickerView.showsSelectionIndicator = YES;
myPickerView.autoresizingMask = UIAlertViewStyleDefault;

myPickerView.frame = CGRectMake(10, 40, 250, 150);

[alert addSubview:myPickerView];

[alert show];

但在运行时,pickerView 的大小不适合警报视图,它看起来如图所示。

here image

我该如何解决这个问题? 提前致谢。


我解决了,发现我有如下代码

- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component    
int sectionWidth = 300;

return sectionWidth;

当我删除它时,它修复了。 :) 感谢所有试图帮助我的人,我为我的错误感到非常抱歉。 :$

【问题讨论】:

你可以改变选择器视图的宽度 我试图减少它,但它减少了右侧的“选择器边缘”线,并且选择器的剩余部分通过了警报的边缘 【参考方案1】:

我有类似的要求。但我无法使用“UIPickerView”成功。所以我搬到了“AFPickerView”。可能对你也有帮助!!

【讨论】:

【参考方案2】:

你不能调整pickerView的高度,只能改变宽度和x和y坐标 或者你必须让 alertview 大 eno

【讨论】:

是的,我试图改变宽度只是为了不通过 alertView 的边缘,我试图使 alertView 的宽度更大,但它仍然通过边缘,如图所示:S 可以调整大小。 怎么样??我的代码有什么错误吗??或者你能为我推荐一个示例代码吗?? 你应该禁用 alertview 的 autoresize subviews ...我认为这是问题 make autoresizesubview of alert view = false【参考方案3】:

我严重质疑这种风格。此外,我认为您实际上无法更改 UIAlertView 的大小。我建议您使用表单演示执行模态搜索,以显示您放置 UIPickerview 的 UIView,并使用一些按钮确认或取消。您可以使用 StoryBoard 或手动对其进行编程。

【讨论】:

但是我的项目的要求告诉我要执行这种样式:S 在alerView中添加一个pickerView很重要:S 文档说:“UIAlertView 类旨在按原样使用,不支持子类化。此类的视图层次结构是私有的,不得修改。”这意味着 UIAlertView 将调整自己的大小以适应您的消息,但您不能强制它为特定大小,也不应修改视图层次结构。【参考方案4】:

更改xib中的宽度。为此,您需要以XML形式打开Xib并找到PickerView并更改宽度并保存,运行。希望这会起作用!!

【讨论】:

以上是关于调整 UIPickerView 的大小的主要内容,如果未能解决你的问题,请参考以下文章

如何调整UIPickerView,UISwitch等无法通过frame调整大小的大小

使用 UIPickerView 从 json 加载数据

UIPickerView 中的 UILabel 上的额外空间

原型 tableviewcell 内的 UIPickerView 没有选择指示器

PhoneGap:iOS 7 中的 UIPickerView 不会像在 iOS 6 中那样自动调整字体大小。关于如何在 iOS 7 中实现的任何解决方案?

如何更改 UIPickerView 中的字体大小?