iOS修改UISlider滑塊大小

原理:使用圖更換滑塊。進而修改圖片的大小來修改滑塊的大小,然后給圖添加陰影效果

.m文件

#import "HWSlider.h"

#define kSliderHeight? ?10//slider高

@interface HWSlider ()

/// 是否設(shè)置過layer

@property (nonatomic , readwrite , assign) BOOL didSetLayer;

@end

@implementation HWSlider

- (instancetype)initWithFrame:(CGRect)frame{

? ? if(self= [superinitWithFrame:frame]) {

? ? ? ? [self setThumbImage:[UIImage imageNamed:@"圓"] forState:UIControlStateNormal];//通過直接修改圖片的大小

? ? }

? ? return self;

}

/// 設(shè)置track(滑條)尺寸

- (CGRect)trackRectForBounds:(CGRect)bounds{

? ? returnCGRectMake(0, (bounds.size.height-kSliderHeight) /2.0, bounds.size.width,kSliderHeight);//滑桿高改為10

}

#pragma mark- 布局

- (void)layoutSubviews{

? ? [super layoutSubviews];

? ? if (self.didSetLayer) {

? ? ? ? return;

? ? }

? ? BOOLdidSetLayer =NO;

? ? for(UIView*vinself.subviews) {

? ? ? ? if ([v isKindOfClass:[UIImageView class]] && v.frame.size.height != kSliderHeight) {//給滑塊圖片添加陰影

? ? ? ? ? ? v.layer.shadowColor = [UIColor blackColor].CGColor;

? ? ? ? ? ? v.layer.shadowOffset = CGSizeMake(1, 1);

? ? ? ? ? ? v.layer.shadowOpacity=0.5;

? ? ? ? ? ? didSetLayer =YES;

? ? ? ? }

? ? }

? ? self.didSetLayer= didSetLayer;

}


@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容