0

UIActionSheetがあり、そこに含まれるボタンのテキストに対応するように幅を調整(拡大)したいと思います。これらのボタンの幅は実行時に決定され、実行中に変更される可能性があります。

[[actionSheet superview] superview]をいじって、含まれているUIPopoverViewを取得しましたが、フレームを変更しても、望ましい結果が得られません。そして、ほとんどの場合、これは非常に脆弱な方法のようです。

[actionSheet sizeToFit]を試しましたが、目立った効果はありませんでした。

したがって、UIActionSheet/UIPopoverViewのサイズを調整するためのいくつかの明白な方法を見落としていることを望んでいます。

ありがとう。

4

2 に答える 2

1

あなたがおそらく理解しているように、それは機能しません。一般的な解決策は、カスタムUIViewControllerを作成し、UIViewControllerのpresentModalViewControllerを使用して表示することです。これにより、UIActionSheetの表示と同じように、スライドアップトランジションが向上します。

しかし、その解決策には何かが欠けています。UIActionSheetは上にスライドしますが、完全にはスライドせず、親ビューを半透明で覆います。これと同じ効果でカスタムビューを表示する方法を示すコードとプロジェクトを含む、すばらしい詳細なチュートリアルがあります。

http://www.nearinfinity.com/blogs/andrew_homeyer/display_a_custom_uiview_like_a.html この人が作成する前に、このチュートリアルを作成したいと思います。彼は私の前にそこに着きました

PK

于 2010-10-06T22:38:14.203 に答える
0

それは簡単にできます。

actionSheet.frame = cgrectmake(0,0,200,300);
于 2012-11-07T04:48:17.257 に答える