彩票

2017-10-24  本文已影响0人  小的小碰撞

one day

通过stroybod加载.png 图片命名通过偏移量scrollview.png 加载到控制器.png 启动图片.png EF3D7750B27A73D098F72E0D34169312.jpg

two day

tabbar尺寸.jpg 把tabbar当一个对象添加到一个数组中.jpg 如上.jpg UITabba属性.png 导航条属性必须用默认的 其他都是透明的.png

two day

nowlaydege.png button自适应尺寸.png pch路径.png 分类的里面声明方法注意事项.png 图片分类之原始图片.png

three day

蒙版

block深层理解.png 从xib加载一个空间尺寸默认和它一样大.png 方法传参block.png 主窗口.png 20171026224019.png 20171026213554.png

four day

bool属性取反.png 计算当前总行数.png 抛异常.png translation动画.png

five day

改变button内部图片和label的位置 精髓.png 获取button当前图片.png 通过storyboard加载view controller.png 在xib或者storyboard中拉伸image view.png 重写,自定义控制器view.png

five day

自定义设置导航控制器返回箭头以及自带返回功能.png 跳转rootvc方法.png 还原导航控制器返回共能.png 导航栏返回箭头2.png 导航栏返回箭头1.png collectionView属性.png collectionView init初始化.png

six day

self.popDelegate = self.interactivePopGestureRecognizer.delegate;
    
    
    self.delegate = self;
}

#pragma mark - 导航控制器的代理方法
// 完全展示完调用
- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    // 如果展示的控制器是根控制器,就还原pop手势代理
    if (viewController == [self.viewControllers firstObject]) {
        self.interactivePopGestureRecognizer.delegate = self.popDelegate;
        
    }
}
// self -> 导航控制器
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{


    if (self.viewControllers.count != 0) { // 非跟控制器hi
        viewController.hidesBottomBarWhenPushed = YES;
        
        // 设置导航条左边按钮的内容,把系统的返回按钮给覆盖,导航控制器的滑动返回功能就木有啦
        viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"NavBack"] style:UIBarButtonItemStyleBordered target:self action:@selector(back)];
        
        // 就有滑动返回功能
        self.interactivePopGestureRecognizer.delegate = nil;
        
    }
    
    
    [super pushViewController:viewController animated:animated];
}
 // 取出系统手势的target对象,
    
    //  取出某个对象里面属性 1.KVC 前提条件:必须知道属性名 2.运行时
    
    // 遍历某个类里面所有属性 Ivar:表示成员属性
    // copyIvarList只能获取哪个类下面的属性,并不会越界(不会把它的父类的属性给遍历出来)
    // Class 获取哪个类的成员属性
    // count:告诉你当前类里面成员属性的总数
    unsigned int count = 0;
    // 返回成员属性的数组
    Ivar *ivars = class_copyIvarList([UIGestureRecognizer class], &count);
    
    for (int i = 0; i < count; i++) {
        // 取出成员变量
        Ivar ivar = ivars[i];
        
        // 获取属性名
        NSString *ivarName = @(ivar_getName(ivar));
        
        NSLog(@"%@",ivarName);
        
        
    }
    
    // _targets:属性名 value
    NSArray *targets = [self.interactivePopGestureRecognizer valueForKeyPath:@"_targets"];
    
    id objc = [targets firstObject];
    id target = [objc valueForKeyPath:@"_target"];

// 其实  target == self.interactivePopGestureRecgnizer.delegate

 UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self.interactivePopGestureRecognizer.delegate action:@selector(handleNavigationTransition:)];
    
    pan.delegate = self;
    
    [self.view addGestureRecognizer:pan];

#pragma mark - 手势代理方法
// 是否开始触发手势
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
    // 判断下当前控制器是否是跟控制器
    
    return (self.topViewController != [self.viewControllers firstObject]);
}
根据模型判断类别.png 模型block.png 模型控制器跳转类名.png

seven day

导图.png modal一个导航控制器.png QQ截图20171117212649.png QQ截图20171117215527.png webview加载javasprit.png 获取路径的另一种方法.png 路径.png 解析数据.png
上一篇 下一篇

猜你喜欢

热点阅读