是否可以在uiswitch中设置图像而不是thumbTintColor?

时间:2015-03-14 05:01:56

标签: ios objective-c uiswitch

我目前正在使用默认UISwitch

是否可以设置图像而不是thumbTintColor属性,还可以在状态打开或关闭时更改图像?是否可以在默认开关或我应该使用自定义开关?

2 个答案:

答案 0 :(得分:0)

UISwitch具有onImage和offImage UIImage属性。在初始化后设置它们,当打开状态改变时它们将自动切换。

答案 1 :(得分:0)

我发现有趣的解决方案可能会有所帮助。

    NSArray *array = [self.mySwitch subviewsWithClass:[UIImageView class]];
    for (UIImageView *imageView in array) {
        imageView.image = [UIImage imageNamed:@"btn-youtube.png"];
    }

听说我使用了UIView类别的方法

- (NSArray*)subviewsWithClass:(Class)class
{
    NSMutableArray *array = [NSMutableArray array];
    if ([self isKindOfClass:class]) {
        [array addObject:self];
    }
    for (UIView *subview in self.subviews) {
        [array addObjectsFromArray:[subview subviewsWithClass:class]];
    }
    return array;
}

图像大小为{57,53.5}。圆半径为15(带阴影)

我明白这不是一个很好的解决方法。但如果你真的需要帮助。