使用库实现自定义UISwitch - 我做错了什么导致了大小问题?

时间:2013-06-09 21:37:20

标签: ios objective-c uiview uiswitch

我正在使用BMXSwitch来实现自定义UISlider,希望最终看起来像这样:

enter image description here

动画与默认的UISwitch完全相同,旋钮移动,同时拉动整个视图,并在另一侧放置,另一个选项可见。

然而,使用该库(以及包含的示例),我可以得到的最接近的是:

enter image description here

Here's a download link to my project if it would help.

以下是我自定义的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [_switch1 setCanvasImage: [UIImage imageNamed: @"canvas-custom"]];
    [_switch1 setMaskImage: [UIImage imageNamed: @"mask-custom"]];

    [_switch1 setKnobImage: [UIImage imageNamed: @"slider-knob-custom"] forState: UIControlStateNormal];
    [_switch1 setKnobImage: [UIImage imageNamed: @"slider-knob-custom"] forState: UIControlStateHighlighted];
    [_switch1 setKnobImage: [UIImage imageNamed: @"slider-knob-custom"] forState: UIControlStateDisabled];

    [_switch1 setContentImage: [UIImage imageNamed: @"slider-background-custom"] forState: UIControlStateNormal];
    [_switch1 setContentImage: [UIImage imageNamed: @"slider-background-custom"] forState: UIControlStateDisabled];

    [self valueChanged: nil];
//    _switch1.on = YES;
}

我不知道我做错了什么。我感觉这只是图像尺寸(图像包含在下载链接中),所以如果你能告诉我我需要的尺寸,或者我需要做些什么来解决这个问题,我真的很感激帮助,这让我非常难过。

1 个答案:

答案 0 :(得分:1)

你的问题在.xib中。您已经定义了一个具有大框架的BMXSwitch。开关的框架必须等于按钮的大小,不再多了。

enter image description here