画面中央にUIActionSheetを表示したい
UIView * placeholderview = [[UIViewinitWithFrame:CGRectMake(0、310、320、100)]; [self.view addSubview:placeholderview]; UIActionSheet * actionSheet = [[UIActionSheet alloc] initWithTitle:@ ""デリゲート:self cancelButtonTitle:@ "キャンセル" destructiveButtonTitle:nil otherButtonTitles:@ "ファイルを開く"、@ "新しいファイル"、@ "エクスポートイメージ" "、ゼロ]; [actionSheet showFromRect:CGRectMake(0,0、320、10)inView:placeholderview]:[アニメーション]:[はい]; [actionSheet release];
希望どおりの結果が得られますが、クリックしかできませんキャンセルボタン、そしてエクスポートイメージボタンの半分。私はどこでうまくいかないのかわからない。
回答:
回答№1は4UIActionSheet
画面の下から表示されるように設計されています。
これらのUI要素が邪魔をする可能性がある場合に、ツールバーまたはタブバーから表示するためのメソッドを提供します。
なぜアクションシートを画面中央に表示したいのですか。見栄えが悪いのでこれをお勧めしませんし、コントロールの設計された動作もしません。
あなたが現在使用している方法はiPad用です - 未定義の振る舞い(あなたが経験しているように)を引き起こすので、それはiPhoneで使用されるべきではありません。
回答№2の場合は3
UIActionSheet
"s showFromRect:inView:animated:
methodはiPadでのみ使用されることになっています。 iPhoneでの動作は未定義です。