选择卡

作者: 胖红Red | 来源:发表于2017-06-07 18:28 被阅读11次

运用seg实现选项卡 效果类似于

13A76D1A-FF66-4309-8596-1316FC1714B2.png

代码如下

#define     kVheadHeight            40
#define     kVLineRedMarkHeight     2
#define     kVLineRedMarkWidth      20
#define     kVLineRedMarkOriginX   (((SCREEN_WIDTH/2)-kVLineRedMarkWidth)/2)
#define     kVLineRedMarkOriginY    (kVheadHeight-2)

@property (nonatomic, strong) UIView             *vHeadBg;
@property (nonatomic, strong) UISegmentedControl *segChoose;
@property (nonatomic, strong) UIView             *vlineCenterSep;
@property (nonatomic, strong) UIView             *vLineRedMark;

//基本控件封装成一句话了 UIKitFactory
_vHeadBg = [UIKitFactory createViewWithFrame:CGRectMake(0,0, SCREEN_WIDTH, 40) backgroundColor:Color_White superView:self.view];

 _segChoose = [[UISegmentedControl alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 40)];
  _segChoose.backgroundColor =  Color_White;
  [_segChoose setTintColor:Color_White];
   _segChoose.layer.borderColor = Color_White.CGColor;
 NSArray *arrTitle = @[@"推荐",@"关注"];
for (int i = 0; i < arrTitle.count; i ++) {
    [_segChoose insertSegmentWithTitle:arrTitle[i] atIndex:i animated:NO];
}
[_segChoose setTitleTextAttributes:@{NSFontAttributeName:Font_Moments_SegTitle,NSForegroundColorAttributeName:Color_Moments_SegNormal} forState:UIControlStateNormal];
[_segChoose setTitleTextAttributes:@{NSFontAttributeName:Font_Moments_SegTitle,NSForegroundColorAttributeName:Color_Moments_ColorRed} forState:UIControlStateSelected];
[_segChoose addTarget:self action:@selector(segmentedValueChanged:
                                            ) forControlEvents:UIControlEventValueChanged];
[_vHeadBg addSubview:_segChoose];
_segChoose.selectedSegmentIndex = 0;


_vLineRedMark = [UIKitFactory createViewWithFrame:CGRectMake(kVLineRedMarkOriginX,kVLineRedMarkOriginY, kVLineRedMarkWidth, kVLineRedMarkHeight) backgroundColor:Color_Moments_ColorRed superView:_vHeadBg];
_vlineCenterSep = [UIKitFactory createViewWithFrame:CGRectMake(0, 0, 0.5, 20) backgroundColor:Color_LineColor superView:_vHeadBg];
_vlineCenterSep.center = _vHeadBg.center;

[UIKitFactory createViewWithFrame:CGRectMake(0,kVheadHeight-0.5, SCREEN_WIDTH, 0.5) backgroundColor:Color_LineColor superView:_vHeadBg];

seg 事件处理
- (void)segmentedValueChanged:(UISegmentedControl *)segChoose{
[UIView animateWithDuration:0.3f animations:^{
CGRect rect = _vLineRedMark.frame;
rect.origin.x = segChoose.selectedSegmentIndex *(SCREEN_WIDTH/2) + kVLineRedMarkOriginX;
_vLineRedMark.frame = rect;
}];

 //刷新数据
   [_tbvMomentsMain.mj_header beginRefreshing];
}

相关文章

网友评论

      本文标题:选择卡

      本文链接:https://www.haomeiwen.com/subject/easafxtx.html