zoukankan      html  css  js  c++  java
  • 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];
    }
  • 相关阅读:
    拷贝构造,移动构造,右值引用,左值,右值,std::move,std::forward,std::ref
    枚举类型 enum以及enum class
    C++ 静态库LIB的使用方法
    array(数组容器)
    C++标准模板库STL
    C++ 动态库DLL的使用方法
    函数指针与回调函数
    VS项目属性等一系列问题
    逻辑运算符(且或非),位运算符(异或),函数对象运算(bit_or)
    pinpoint-grpc编译异常问题记录
  • 原文地址:https://www.cnblogs.com/pengsi/p/7218029.html
Copyright © 2011-2022 走看看