网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

IOS自定义UISwitch

#import

创新互联建站是一家专注于成都网站设计、成都做网站与策划设计,海口网站建设哪家好?创新互联建站做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:海口等地区。海口做网站价格咨询:18980820575

// 该方法时SDK文档中没有的, 添加一个category

@interface UISwitch (extended)

- (void) setAlternateColors:(BOOL) boolean;

@end

// 自定义Slider 类

@interface _UISwitchSlider : UIView

@end

@interface UICustomSwitch : UISwitch {

}

- (void) setLeftLabelText:(NSString *)labelText

                     font:(UIFont*)labelFont

                    color: (UIColor *)labelColor;

- (void) setRightLabelText:(NSString *)labelText

                      font:(UIFont*)labelFont

                     color:(UIColor *)labelColor;

- (UILabel*) createLabelWithText:(NSString*)labelText

                            font:(UIFont*)labelFont

                           color:(UIColor*)labelColor;

@end

#import "UICustomSwitch.h"

@implementation UICustomSwitch

- (id)initWithFrame:(CGRect)frame {

    if (self = [super initWithFrame:frame]) {

        // Initialization code

    }

    return self;

}

- (void)drawRect:(CGRect)rect {

    // Drawing code

}

- (void)dealloc {

    [super dealloc];

}

- (_UISwitchSlider *) slider {

    return [[self subviews] lastObject];

}

- (UIView *) textHolder {

    return [[[self slider] subviews] objectAtIndex:2];

}

- (UILabel *) leftLabel {

    return [[[self textHolder] subviews] objectAtIndex:0];

}

- (UILabel *) rightLabel {

    return [[[self textHolder] subviews] objectAtIndex:1];

}

// 创建文本标签

- (UILabel*) createLabelWithText:(NSString*)labelText

                            font:(UIFont*)labelFont

                           color:(UIColor*)labelColor

{

    CGRect rect = CGRectMake(-25.0f, -10.0f, 50.0f, 20.0f);

    UILabel *label = [[UILabel alloc] initWithFrame: rect];

    label.text = labelText;

    label.font = labelFont;

    label.textColor = labelColor;

    label.textAlignment = UITextAlignmentCenter;

    label.backgroundColor = [UIColor clearColor];

    return label;

}

// 重新设定左边的文本标签

- (void) setLeftLabelText:(NSString *)labelText

                     font:(UIFont*)labelFont

                    color:(UIColor *)labelColor

{

    @try {

        //

        [[self leftLabel] setText:labelText];

        [[self leftLabel] setFont:labelFont];

        [[self leftLabel] setTextColor:labelColor];

    } @catch (NSException *ex) {

        // 

        UIImageView* leftImage = (UIImageView*)[self leftLabel];

        leftImage.p_w_picpath = nil;

        leftImage.frame = CGRectMake(0.0f, 0.0f, 0.0f, 0.0f);

        //

        [leftImage addSubview: [[self createLabelWithText:labelText

                                                     font:labelFont

                                                    color:labelColor] autorelease]];

    }

}

// 重新设定右边的文本

- (void) setRightLabelText:(NSString *)labelText font:(UIFont*)labelFont color:(UIColor *)labelColor {

    @try {

        // 

        [[self rightLabel] setText:labelText];

        [[self rightLabel] setFont:labelFont];

        [[self rightLabel] setTextColor:labelColor];

    } @catch (NSException *ex) {

        // 

        UIImageView* rightImage = (UIImageView*)[self rightLabel];

        rightImage.p_w_picpath = nil;

        rightImage.frame = CGRectMake(0.0f, 0.0f, 0.0f, 0.0f);

        //

        [rightImage addSubview: [[self createLabelWithText:labelText

                                                      font:labelFont

                                                     color:labelColor] autorelease]];   

    }

}

@end


分享名称:IOS自定义UISwitch
本文路径:http://bjjierui.cn/article/pdshej.html

其他资讯