Latest 1.0
Homepage https://github.com/silence0201/ChainedKit
License MIT
Platforms ios 7.0, requires ARC
Authors

链式编程的简单实现,让我们可以用.来调用方法

使用说明

导入文件

将项目目录下的ChainedKit目录导入项目中
NSObject+SIChainedKit:NSObject方法封装
UIButton+SIChainedKit:UIButton方法封装
UIControl+SIChainedKit:UIControl方法封装
UIImageView+SIChainedKit:UIImageView方法封装
UILabel+SIChainedKit:UILabel方法封装
UIScrollView+SIChainedKit:UIScrollView方法封装
UITableView+SIChainedKit:UITableView方法封装
UITextField+SIChainedKit:UITextField方法封装
UITextView+SIChainedKit:UITextView方法封装

Pod安装

pod 'ChainedKit', '~> 1.0'

导入头文件

#import "SIChainedKit.h"

使用

NSObject

[Person si_make:^(Person *person) {
    person.si_setValueForKey(@"张三",@"name")
          .si_setValueForKey(@"12",@"age") ;
    NSLog(@"%@",person) ;
    NSLog(@"%@",person.si_valueForKey(@"name")) ;
    NSLog(@"%d",person.si_isKindOfClass([Person class])) ;
    if (person.si_respondsToSel(@selector(eat:))) {
        person.si_performSelOnMain(@selector(eat:),@"苹果",YES) ;
    }
}] ;

UIView

[UIView si_make:^(UIView *view) {
view.si_setBackgroundColorWithRGB(115,115,115,1).si_setAlpha(0.6)
.si_setCornerRadius(10).si_setMaskToBounds(YES) ;
view.si_setSizeEasy(150,150).si_setCenter(weakSelf.view.center) ;

    NSLog(@"%@",NSStringFromCGRect(view.si_viewFrame())) ;
}] ;

UIButton

 [UIButton si_make:^(UIButton *button) {
    button.si_setCenterEasy(100,200).si_setSizeEasy(120,50).si_setBackgroundColor([UIColor blueColor]) ;
    button.si_setTitleForState(@"按钮",UIControlStateNormal) ;
    button.si_setCornerRadius(5).si_setMaskToBounds(YES) ;
    button.si_setContentEdgeEasy(0,5,0,0).si_setTitleEdgeEasy(0,5,5,0) ;
    button.si_setAdjustImageWhenDisable(NO).si_setAdjustImageWhenHighlight(NO) ;
    button.si_addTarget(self,@selector(click:),UIControlEventTouchUpInside) ;
    [weakSelf.view addSubview:button] ;
}] ;

UIImageView

[UIImageView si_make:^(UIImageView *imageView) {
imageView.si_setFrameEasy(0,10,300,450) ;
imageView.si_setImage([UIImage imageNamed:@"11"]) ;
imageView.si_setContentMode(UIViewContentModeScaleToFill) ;
[weakSelf.view addSubview:imageView] ;
}] ;

UILabel

 [UILabel si_make:^(UILabel *label) {
    label.si_setoriginEasy(120,300).si_setSizeEasy(150,50) ;
    label.si_setBackgroundColorWithRGB(0,255,255,1).si_setAlpha(0.5) ;
    label.si_setNumberOfLine(0).si_setTextAlignment(NSTextAlignmentCenter) ;
    label.si_setText(@"我是一个label我是一个label我是一个") ;
    [weakSelf.view addSubview:label] ;
}] ;

UITextField

 [UITextField si_make:^(UITextField *textField) {
    textField.si_setFrameEasy(100,200,200,30) ;
    textField.si_setPlaceHolder(@"占位文字").si_setFontSize(12) ;
    textField.si_setClearOnBeginEdit(YES).si_setBackgroundColor([UIColor whiteColor]);
    [weakSelf.view addSubview:textField] ;
}] ;

UIScrollView

[UIScrollView si_make:^(UIScrollView *scrollView) {
    scrollView.si_setFrameEasy(10,10,100,200).si_setBackgroundColor([UIColor redColor]) ;
    scrollView.si_setContentInset(UIEdgeInsetsMake(10, 10, 10, 10)).si_setContentSize(CGSizeMake(200, 200)) ;
    scrollView.si_setAlwaysBounceH(NO).si_setAlwaysBounceV(NO) ;
    scrollView.si_setDelegate(self) ;
    [weakSelf.view addSubview:scrollView] ;
}] ;

UITableView

[UITableView si_make:^(UITableView *tableView) {
tableView.si_setDelegate(self).si_setDataSource(self) ;
tableView.si_setFrame(weakSelf.view.bounds) ;
tableView.si_setRowHeight(44) ;
tableView.si_registClassForCellId([UITableViewCell class],@"cell") ;
[weakSelf.view addSubview:tableView] ;
}] ;

注意事项

  • 不是所有的属性都可以一直点下去的,必须是同类型的返回值
  • 如果先调用了父类的方法,就不能调用子类的方法,因此建议先执行子类的方法

Latest podspec

{
    "name": "ChainedKit",
    "version": "1.0",
    "summary": "Chained Code",
    "description": "An Easy way to Chain Code",
    "homepage": "https://github.com/silence0201/ChainedKit",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Silence": "[email protected]"
    },
    "platforms": {
        "ios": "7.0"
    },
    "source": {
        "git": "https://github.com/silence0201/ChainedKit.git",
        "tag": "1.0"
    },
    "source_files": [
        "ChainedKit",
        "ChainedKit/**/*.{h,m}"
    ],
    "exclude_files": "ChainedKit/Exclude",
    "public_header_files": "ChainedKit/**/*.h",
    "requires_arc": true
}

Pin It on Pinterest

Share This