iOS知识点总结

1.Cell左滑自定义按钮:

#pragma mark - 编辑左滑删除

- (void)layoutSubviews {
    
    [super layoutSubviews];
    for (UIView *subview in self.subviews) {
        if ([subview isKindOfClass:NSClassFromString(@"UITableViewCellDeleteConfirmationView")]) {
            UIButton *deleteButton = subview.subviews[0];
            deleteButton.backgroundColor = [UIColor whiteColor];
            [deleteButton.titleLabel setFont:[UIFont fontWithName:@"SFUIText-Regular" size:12.0]];
            [deleteButton setImage:[UIImage imageNamed:@"mine_collection_delete_icon"] forState:UIControlStateNormal];
            [deleteButton setTitle:@"         " forState:UIControlStateNormal];
            [self centerImageAndTextOnButton:deleteButton];
        }
    }
}

- (void)centerImageAndTextOnButton:(UIButton*)button
{
    // this is to center the image and text on button.
    // the space between the image and text
    CGFloat spacing = 35.0;
    
    // lower the text and push it left so it appears centered below the image
    CGSize imageSize = button.imageView.image.size;
    button.titleEdgeInsets = UIEdgeInsetsMake(0.0, - imageSize.width, - (imageSize.height + spacing), 0.0);
    
    // raise the image and push it right so it appears centered above the text
    CGSize titleSize = [button.titleLabel.text sizeWithAttributes:@{NSFontAttributeName: button.titleLabel.font}];
    button.imageEdgeInsets = UIEdgeInsetsMake(-(titleSize.height + spacing - 20), -25, 0.0, - titleSize.width);
    
    // increase the content height to avoid clipping
    CGFloat edgeOffset = (titleSize.height - imageSize.height) / 2.0;
    button.contentEdgeInsets = UIEdgeInsetsMake(edgeOffset, 0.0, edgeOffset, 0.0);
    
    // move whole button down a little bit, this can be changed according to your own preference
    CGRect btnFrame = button.frame;
    btnFrame.origin.y = 18;
    button.frame = btnFrame;
}

2.Slide的使用:

- (void)addSlider {
    
    self.mySlider = [[UISlider alloc]init];
    //设置Slider的最大值和最小值
    self.mySlider.minimumValue = 0;
    self.mySlider.maximumValue = self.myDataArray.count - 1;
    //设置Slider的初始值
    self.mySlider.value = 0;
    
    [self.mySlider setMaximumTrackImage:[UIImage imageNamed:@"progress_right"] forState:UIControlStateNormal];
    [self.mySlider setMinimumTrackImage:[UIImage imageNamed:@"progress_left"] forState:UIControlStateNormal];
    [self.mySlider setThumbImage:[UIImage imageNamed:@"task_progress_bar_location_dot"] forState:UIControlStateNormal];
    [self.mySlider setThumbImage:[UIImage imageNamed:@"task_progress_bar_location_dot"] forState:UIControlStateHighlighted];
    
    //为UISlider添加事件方法
    [self.mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
    //新建一个UILabel对象
    [self.view addSubview:self.mySlider];
    [self.mySlider mas_makeConstraints:^(MASConstraintMaker *make) {
        make.bottom.equalTo(self.view).offset(-10);
        make.left.equalTo(self.view).offset(55);
        make.right.equalTo(self.view).offset(-55);
    }];
    
    [self addSliderLabel];
}
原文地址:https://www.cnblogs.com/pengsi/p/7218029.html