【问题标题】:resizing UIPickerView调整 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;
}

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

【问题讨论】:

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

标签: iphone ios ipad uipickerview


【解决方案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并更改宽度并保存,运行。希望这会起作用!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-15
      相关资源
      最近更新 更多