1

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のサイズがアラートビューに適合せず、画像に示されているように見えます。

こちらの画像

どうすればこの問題を解決できますか?前もって感謝します。


私はそれを解決しました、私は私が次のコードを持っていることを発見しました

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

return sectionWidth;
}

これを外すと直りました。:)みんなが私を助けてくれてありがとう、そして私は私の間違いをとても残念に思います。:$

4

4 に答える 4

1

これに似た要件がありました。しかし、「UIPickerView」を使用して成功させることはできませんでした。そこで、「AFPickerView」に移動しました。それもあなたを助けるかもしれません!!

于 2012-07-31T10:00:25.987 に答える
0

pickerViewの高さのサイズを変更することはできません。幅とxおよびy座標のみを変更するか、alertviewを大きくする必要があります。

于 2012-07-31T08:56:22.293 に答える
0

xib の幅を変更します。このためには、Xib を XML 形式で開き、その PickerView を見つけて幅を変更し、実行して保存する必要があります。

于 2012-07-31T11:00:57.193 に答える
0

私はこのスタイルに真剣に疑問を抱いています。その上、UIAlertView のサイズを実際に変更できるとは思いません。フォーム シート プレゼンテーションでモーダル セグエを実行して、UIPickerview を配置した UIView をいくつかのボタンで確認またはキャンセルすることをお勧めします。これは StoryBoard を使用するか、手動でプログラムすることができます。

于 2012-07-31T09:07:18.250 に答える