15

オブジェクトがデータベースから設定され、同様にデータベースに保存されるビューがあります。UITextViews はうまく機能していますが、UISwitch の状態を設定する方法がわかりません。

IB で変更できますが、それは私が必要とするものではありません。DB のレコードには、0 または 1 のブール値があります。したがって、フィールドが true の場合、UISwitch の状態を ON に設定します。

また、レコードを保存するときは、ビューで値を確認して、テーブルにフィールドを設定できるようにする必要があります。

助けてくれてありがとう!!

編集:これは私がこれまでに行ったことです:

.h ファイル

@interface UserEdit : UIViewController {


    IBOutlet UISwitch *male;

}


@property (nonatomic, retain) IBOutlet UISwitch *male;

.m ファイル

@synthesize male;


- (void)viewDidLoad {
    [super viewDidLoad];

    [male SetOn:NO];


}

上記の SetOn 行にヒットすると、アプリがダンプします

また、値を設定するだけでなく、読み取ることもできる必要があります

4

4 に答える 4

43

要件に応じて、またはメソッドを使用してUISwitchの状態を設定できます。onsetOn:animated:

例えば:[yourUISwitch setOn:YES];

詳細については、 UISwitch クラス リファレンスの「オフ/オン状態の設定」セクションを確認してください。

アップデート

ドキュメントに従って、次の方法で値を読み取ることができます[yourUISwitch isOn];

于 2011-05-22T21:01:01.457 に答える
2

次の方法で実行できます。

//
//  ViewController.m
//


#import "ViewController.h"


@interface ViewController ()

@property (weak, nonatomic) IBOutlet UISwitch *mySwitch;

- (IBAction)switchChanged:(id)sender;

@end


@implementation ViewController

- (IBAction)switchChanged:(id)sender
{
    [[NSUserDefaults standardUserDefaults] setBool:self.mySwitch.on forKey:@"SwitchState"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}


- (void)viewDidLoad
{
    [super viewDidLoad];
    self.mySwitch.on = [[NSUserDefaults standardUserDefaults] boolForKey:@"SwitchState"];

}

@end
于 2014-06-25T10:43:17.453 に答える
1

UISwitch の状態を設定および読み取るための迅速なバージョン コードがあります。

    //Change switch state
    self.mSwitchAccept.setOn(true, animated: true)
    //Get the switch state
    let switchState : Bool = self.mSwitchAccept.on
于 2016-04-21T15:56:28.400 に答える
0

UISwitch を設定するには、これを使用する必要があります[yourSwitch setOn: YES animated: YES];

UISwitch を読み取るには、ブール型のスイッチの状態で取得する必要がありますNSLog(@"Switch state :%d", [yourSwitch isOn]);

于 2014-03-28T08:57:35.497 に答える