Ios 正在尝试更改UISwitch的背景图像

Ios 正在尝试更改UISwitch的背景图像,ios,swift,uiimage,uiswitch,Ios,Swift,Uiimage,Uiswitch,代码: 我试图在UISwitch被更改时更改其背景图像。 似乎未设置背景图像 我的代码有什么问题?onImage和ofimage属性自iOS7以来根据苹果文档没有任何效果 尝试创建一个UIButton,并根据selected:Bool属性在此按钮上设置一个图像,使其行为类似于开关 按下按钮时,使sender.selected=!发件人。选中,然后刷新图像。您将有一个自定义开关 根据Apple文档,自iOS7以来,onImage和offImage属性均无效 let switchTerms = U

代码:

我试图在UISwitch被更改时更改其背景图像。 似乎未设置背景图像


我的代码有什么问题?

onImage
ofimage
属性自iOS7以来根据苹果文档没有任何效果

尝试创建一个UIButton,并根据
selected:Bool
属性在此按钮上设置一个图像,使其行为类似于开关


按下按钮时,使
sender.selected=!发件人。选中
,然后刷新图像。您将有一个自定义开关

根据Apple文档,自iOS7以来,onImage和offImage属性均无效

 let switchTerms = UISwitch(frame:CGRectMake(XPos, YPos, Width, Height))
        switchTerms.addTarget(self, action: "switchTermsAction:", forControlEvents: .ValueChanged)
         switchTerms.onImage = UIImage(named:"SIGN-UP-toggle-Active.png")
        scrollSignUp!.addSubview(switchTerms);

 func switchTermsAction(sender:UISwitch){

        if sender.on{

            sender.onImage = UIImage(named:"SIGN-UP-toggle-Active.png")
        }
        else{
            sender.offImage = UIImage(named:"SIGN-UP-toggle-DeActive.png")
        }
    }
尝试创建一个UIButton,并根据
selected:Bool
属性在此按钮上设置一个图像,使其行为类似于开关

按下按钮时,使
sender.selected=!发件人。选中
,然后刷新图像。您将有一个自定义开关

 let switchTerms = UISwitch(frame:CGRectMake(XPos, YPos, Width, Height))
        switchTerms.addTarget(self, action: "switchTermsAction:", forControlEvents: .ValueChanged)
         switchTerms.onImage = UIImage(named:"SIGN-UP-toggle-Active.png")
        scrollSignUp!.addSubview(switchTerms);

 func switchTermsAction(sender:UISwitch){

        if sender.on{

            sender.onImage = UIImage(named:"SIGN-UP-toggle-Active.png")
        }
        else{
            sender.offImage = UIImage(named:"SIGN-UP-toggle-DeActive.png")
        }
    }

斯威夫特:

@property (weak, nonatomic) IBOutlet UIImageView *genderSwitchBackgroundImageView;
@property (weak, nonatomic) IBOutlet UISwitch *genderSwitch;

...

- (void)viewDidLoad {
    [super viewDidLoad];

    self.genderSwitch.onTintColor = [UIColor clearColor];
    self.genderSwitch.tintColor = [UIColor clearColor];

    [self genderSwitchValueChanged];
}

- (IBAction)genderSwitchValueChanged {
    self.genderSwitchBackgroundImageView.image = [UIImage imageNamed:(self.genderSwitch.isOn ? @"toggle_male" : @"toggle_female")];
}

斯威夫特:

@property (weak, nonatomic) IBOutlet UIImageView *genderSwitchBackgroundImageView;
@property (weak, nonatomic) IBOutlet UISwitch *genderSwitch;

...

- (void)viewDidLoad {
    [super viewDidLoad];

    self.genderSwitch.onTintColor = [UIColor clearColor];
    self.genderSwitch.tintColor = [UIColor clearColor];

    [self genderSwitchValueChanged];
}

- (IBAction)genderSwitchValueChanged {
    self.genderSwitchBackgroundImageView.image = [UIImage imageNamed:(self.genderSwitch.isOn ? @"toggle_male" : @"toggle_female")];
}

麦克斯,你是说你把图像放在开关下面了?所以图像大小与普通开关相同?@markmoeykens-yepYeah,这似乎可行。将高31、宽51的背景放在开关后面。看起来很好用。希望有一种更优雅的方式。它确实有效)我在实际项目中使用了这种方法。我认为这比“按按钮接近”要好Max,你是说你把图像放在开关下面?所以图像大小与普通开关相同?@markmoeykens-yepYeah,这似乎可行。将高31、宽51的背景放在开关后面。看起来很好用。希望有一种更优雅的方式。它确实有效)我在实际项目中使用了这种方法。我认为这比“按按钮的方法”要好