0

ユーザーがボタンをタップしたときにUISwitchと完了ボタンを含むポップを表示し、ポップアップの完了ボタンがタップされたときにスイッチの状態を保存する必要があります。

だから私はこれを行うためにUIActionSheetを使用します -

sheet = [[UIActionSheet alloc] initWithTitle:@"Switch Setting" 
                                              delegate:self
                                     cancelButtonTitle:nil
                                destructiveButtonTitle:nil
                                     otherButtonTitles:@"Done", nil];

theSwitch = [[UISwitch alloc] init];
[sheet addSubview:theSwitch];
[sheet showInView:self.view];


- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == actionSheet.firstOtherButtonIndex)
    {
      theSwitch .on? NSLog(@"Switch is on") : NSLog(@"Switch if off");
    }
}

これはすべてうまくいきます。ポジショニングに問題があります。残念ながら、現時点ではここに投稿するスクリーン ショットがありません。ただし、スイッチはアクション シートのタイトルと同じ行の一番上に表示され、その下に [完了] ボタンがあります。

スイッチをタイトルの下に配置し、アクション シートのサイズを大きくして見栄えを良くする方法を教えてください。早急にこれが必要です。ありがとう。

4

2 に答える 2

0

上記のUISwitchようなフレームを変更することで、それを行うオプションがあると思います。画像付きでtrumi配置したい場合は、ここに文書化されていないオプションがあります。文書化されていないため、拒否されるリスクがあります。UIButton

また、同じスレッドで他の多くの美化オプションを見つけることができます

于 2013-05-17T11:16:35.160 に答える
0

スイッチの枠を設定できます。

アラート ビューの中央にスイッチを配置するには

theSwitch = [[UISwitch alloc] init];
[sheet addSubview:theSwitch];
[sheet showInView:self.view];

// get the dimension of the sheet to position the switch
CGSize parentSize  = sheet.frame.size;
CGRect rect = theSwitch.frame;
rect.origin.x = parentSize.width/2.0 - rect.size.width;
rect.origin.y = parentSize.height - rect.size.height - <some space from the bottom>;
theSwitch.frame = rect;

シートの showInView を呼び出した後にスイッチを配置することが重要です。それ以外の場合、シートのサイズはゼロです。交換すると、同じスペースを下部に追加できます。

お役に立てれば

于 2010-03-28T13:30:45.933 に答える