0

デモアプリでフルサイズのボタンを作成しようとしていますUITextView。そして、ボタンをもう一度タッチした後、元のサイズにサイズ変更します(別名フルスクリーンモードの終了)。

1つのUIButtonに複数のアクションを追加しようとしたことはありません。

-(IBAction)clickButtonFullSize:(id)sender
{
        CGRect r = [[UIScreen mainScreen] bounds];
        [myText setFrame:r];
}

-(IBAction)clickButtonReSize:(id)sender
{
    [myText setFrame:CGRectMake(0,0,200,200)];
}

最初の方法は、に触れたときに正常に機能しUIButtonます。しかし、2番目のメソッドを同じボタンにリンクしてサイズを変更(全画面表示を終了)するにはどうすればよいですか?

4

3 に答える 3

1

tagボタンを管理するだけでこれを行うことができます。2つの必要はありませんIBActions

-(IBAction)clickButtonFullSize:(id)sender
{
    UIButton *btn = (UIButton*) sender;

    if (btn.tag == 0) 
    {
        btn.tag = 1;

        CGRect r = [[UIScreen mainScreen] bounds];
        [myText setFrame:r];

    }
    else 
    {
        btn.tag = 0;

        [myText setFrame:CGRectMake(0,0,200,200)];

    }

}
于 2012-08-06T14:09:21.573 に答える
1

両方のアクションを同じUIButtonにリンクし、最初のメソッドでブール値を作成します。1番目の関数の終了時にブール値を変更し、2番目のメソッドでifをスローします。

于 2012-08-06T14:10:12.603 に答える
0

両方のサイズ変更に同じ方法を使用しますが、代わりにチェックしてください。ボタンがフルサイズの場合は小さくし、その逆も同様です。

それか、ボタンがフルサイズであり、メソッドがそれを呼び出したときにそれをチェックするという事実を保持するブール値を作成します。

同じボタンで2つの異なるメソッドを指すことができます。

于 2012-08-06T14:09:05.177 に答える