UIView+LHQExtension(分类)】的更多相关文章

// //  UIView+LHQExtension.h //  微博 - 李洪强(2016-5-27) // //  Created by vic fan on 16/5/30. //  Copyright © 2016年 李洪强. All rights reserved. // #import <UIKit/UIKit.h> @interface UIView (LHQExtension) @property(nonatomic,assign)CGFloat x; @property(no…
#import <UIKit/UIKit.h> @interface UIView (SJBExtends) @property (nonatomic,assign)CGFloat x; @property (nonatomic,assign)CGFloat y; @property (nonatomic,assign)CGFloat width; @property (nonatomic,assign)CGFloat height; @property (nonatomic,assign)C…
本文目录 UIView+WebCacheOperation UIImageView+WebCache.UIImageView+HighlightedWebCache.MKAnnotationView+WebCache UIButton+WebCache 对于视图分类,我们最熟悉的当属UIImageView+WebCache这个分类了.通常在为一个UIImageView设置一张网络图片并让SD自动缓存起来就会使用这个分类下的- (void)sd_setImageWithURL:(NSURL *)u…
项目需求中遇到获取UIView上某个坐标点的RGB颜色值的需求,现在把自己找到的解决方案简单总结记录一下,遇到了下面的情况: 不可移动的UIView 旋转式的UIView 滑条式的UIView 不可移动的UIView 如下图所示,有一个圆形的颜色板,当手指在颜色板上移动时,UIViewController的backgroundColor将会设置成手指在颜色板上触点的颜色值: 实现该功能的方案搜索至stackoverflow, 出处点击这里. 核心代码如下: #import "UIView+Col…
在oc中为了增强已有类的功能,我们经常使用分类.使用分类,我们可以在不破坏原有类的结构的前提下,对原有类进行模块化的扩展. 但是在swift中没有分类这种写法了.相对应的是swift中只有扩展(Extensions). 下面是swift中扩展(Extensions)的说明 扩展就是向一个已有的类.结构体.枚举类型或者协议类型添加新功能(functionality).这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模).扩展和 Objective-C 中的分类(categories)…
写在前面 UIView对于iOS开发来讲,再熟悉不过了.也正是因为这一点,我们可能会忽略UIView一些特有方法的理解和使用.今天,笔者主要整理一下对drawRect方法的理解和使用. 默认情况下,该方法在视图加载过程中不做任何人处理.当子类使用Core Graphics和UIKit绘制视图内容时就需要在该方法中添加绘制的代码. drawRect简介 drawRect方法在UIView的使用上起着十分关键的作用.不知道大家注意过没有,每一次创建UIView子类文件时候,会有自动带有已注释的dra…
点击创建UIView的分类category,这里命名为 PLExtension(为了和下面对应) view分类.h文件 #import <UIKit/UIKit.h> @interface UIView (PLExtension) @property (nonatomic, assign) CGFloat WL_width; @property (nonatomic, assign) CGFloat WL_height; @property (nonatomic, assign) CGFloa…
一:首先查看一下关于UITabBarController的定义 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITabBarController : UIViewController <UITabBarDelegate, NSCoding> //设置控制器数组 @property(nullable, nonatomic,copy) NSArray<__kindof UIViewController *> *viewControllers; //设置…
runtime运行时用法之一 --- 交换类的方法,此处简单写了把系统的UIView的setBackgroundColor的方法换成了自定义的pb_setBackgroundColor 首先创建UIView的分类 在分类中导入头文件#import <objc/runtime.h> 实现load类方法 --- 类被加载运行的时候就会调用 分别获取系统setBackgroundColor方法 和自定义的 pb_setBackgroundColor 方法.然后交换 在AFNetworking中也有应…
其实很早就像整理出一份VFL的总结出来,觉得有很多东西可以写,但是真正去总结的时候发现,VFL也并没有很多东西,其实应该是在布局的过程中直接用VFL语句思考的过程比较难以形成,多数布局问题其实是在实际操作中才会有越来越深的体会,关键在用.可能有些词不达意,不多说了,以下将VFL的基本表达列出.   AutoLayout,顾名思义,是自动布局,自动布局的实现有很多种,我之前在开发过程中比较多用到的是VFL和Mansory:但是一般情况下,不是很复杂的布局控件会直接使用frame进行计算,所以事实上…
和上一篇手势解锁不一样,手势解锁只画了一条路径,从触摸开始-->触摸移动-->触摸结束 ,然后路径完成了,渲染出来就是手势解锁了: 这次涂鸦想做到的效果是可以画很多次线段或弧,每次又可以设置不同的宽度和颜色,然后还要有撤销.清屏.橡皮擦的功能,那就需要画很多条路径了,然后每条路径有自己的颜色和宽度,那么 UIBezierPath类也实现不了,需要自定义一个类,继承自UIBezierPath,然后再增加自己的颜色和宽度属性. 效果截图:   涂鸦了   橡皮擦擦除  保存到相册 代码: 1.自定…
iOS开发拓展篇—音频处理(音乐播放器2) 说明:该文主要介绍音乐播放界面的搭建. 一.跳转 1.跳转到音乐播放界面的方法选择 (1)使用模态跳转(又分为手动的和自动的) (2)使用xib并设置跳转 2.两种方法的分析 可以使用模态的方法,添加一个控制器,让这个控制器和音乐播放控制器类进行关联,脱线,设置标识符且在cell的点击事件中执行segue即可. 步骤说明: (1)在storyboard中新拖入一个控制器,然后设置和playing控制器类相关联. (2)设置手动跳转 (3)设置segue…
前言 iOS 实现主题切换,相信在未来的app里也是会频繁出现的,尽管现在只是出现在主流的APP,如(QQ.新浪微博.酷狗音乐.网易云音乐等),但是现在是看颜值.追求个性的年代,所以根据用户喜好自定义/切换主题也是未来app的必备功能了. 实现思路 为了降低耦合度,决定采用的方案是使用NSObject的分类来实现主题设置,有些读者可能会想为何不使用UIView的分类而是使用NSObject的分类?建议这部分读者看一下UIBarItem父类,然后仔细思考一下,就会理解了. 设置主题色 PYThem…
解决类似网易新闻客户端收到新闻推送后,弹出一个UIAlert,然后跳转到新闻详情页面这种需求 1.提供一个UIView的分类方法,这个方法通过响应者链条获取view所在的控制器 - (UIViewController *)parentController { UIResponder *responder = [self nextResponder]; while (responder) { if ([responder isKindOfClass:[UIViewController class]…
项目介绍 仿照百思不得姐,通过看视频学习自己实践并简单总结项目开发过程中普遍遇到的问题,并且将可以用到其他项目中的分类方法进行简单总结,便于以后在别的项目中使用. 每天任务 1. 实现相应功能 2. 代码重构,简单优化 第一天任务: 配置项目基本环境 搭建框架 代码重构 配置项目基本环境 一. 接口获取 我们可以通过Charles等工具抓包来获取我们想做的App的接口,然后通过解析将每个接口的数据解析出来.也可以去知乎中有趣的 API 接口推荐找找看. 二. 项目图片获取方式 图片的获取非常简单…
最近有遇到过sizeToFit的方法,比较好奇,所以查了点资料 在官方文档中 - (void)sizeToFit; // calls sizeThatFits: with current view bounds and changes bounds size.  调用这个方法来改变当前view的大小(让大小自适应)   现在我从网页上加载一张图片并使用sizeToFit方法 //给imageView设置图片 -(void)setImage{ //从网页中获取图片的URL NSURL *url =…
这两天在网上看到一个帖子讨论关于有些app 输入账密时候 错误的话会有抖动效果出现,然后自己琢磨了下如何实现,下面上代码!!! 首先 写一个UIView的分类 #import <UIKit/UIKit.h> typedef NS_ENUM(NSInteger, QHLDirection) { QHLDirectionHorizontal, QHLDirectionVertical }; @interface UIView (QHLShakes) - (void)shakeWithShakeDi…
一.展示实现 效果      客户端:                                      服务器端:            二.创建表 create table CourseVideo ( VideoID ,) NOT NULL, CourseID VideoName varchar() NULL, VideoPath [varchar]() NULL, VideoImage [varchar]() NULL, VideoDes [varchar]() NULL, Vid…
介绍 github地址: https://github.com/rs/SDWebImage 简介 一个异步图片下载及缓存的库 特性: 一个扩展UIImageView分类的库,支持加载网络图片并缓存图片 异步图片下载器 异步图片缓存和自动图片有效期管理 支持GIF动态图片 支持WebP 背景图片减压 保证同一个URL不会再次下载 保证无效的URL不会重新加载 保证主线程不会死锁 性能优越 使用GCD和ARC 支持ARM64位处理器 其他 3.0后不再支持5.1.1 支持Cocoapods 用法不说…
在了解Masonry框架之前,有必要先了解一下自动布局的概念.在iOS6之前,UI布局的方式是通过frame属性和Autoresizing来完成的,而在iOS6之后,苹果公司推出了AutoLayout的布局方式,它是一种基于约束性的.描述性的布局系统,尤其是苹果的手机屏幕尺寸变多之后,AutoLayout的应用也越来越广泛. 但是,手写AutoLayout布局代码是十分繁琐的工作(不熟悉的话,可以找资料体验一下,保证让你爽到想哭,^_^):鉴于此,苹果又开发了VFL的布局方式,虽然简化了许多,但…
[实现效果] [目录结构相关] 此示例展示用的是MVVM结构形式,表述如下 M:数据Model的存储,可以用来对属性进行处理.(即胖model概念,上图中xx万人订阅这个处理方法写在Model内) V: View.用来统一管理控件初始化与布局. VM:viewModel.负责网络请求及其他计算或事件处理 viewController文件夹下有一个控制器和一个MLDataView,这个view添加在控制器self.view上,然后这个控制器中其他view的初始化,添加和布局都在这个MLDataVi…
1. Auto layout 1.1 NSLayoutConstraint 1.1.1 约束类 ios6.0可用 为了更好的适配各个尺寸 1.1.2 constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant: 生成一个约束,也就是给一个视图约束条件,另一个视图也会受到这个约束的影响 参数依次为view1,attr1,=(>=,<=),view2,attr2,multiplier,constant vi…
但凡经过几年移动开发经验的人去大公司面试,都会有公司问到,使用过哪些第三方,看过他们的源码嘛?而SDWebImage就是经常被面试官和应聘者的提到的.下面将讲述SDWebImage的源码解析以及实现原理,希望可以帮助大家加深对SDWebImage实现原理的理解!!! 一.前言 SDWebImage专门用于iOS图片加载框架,提供了网络下载并缓存图片,通过使用SDWebImage来管理图片的相关操作,从而让研发人员专注业务逻辑实现,提高开发效率. 首先我们来看一下它的代码的整体结构. 看过上面的整…
1.概述 SDWebImage是iOS开发中,被广泛使用的一个第三方开源库,提供了图片从加载.解析.处理.缓存.清理等一些列功能,让我们能够专心于业务的处理.本篇会从SDWebImage的源码,来一步步分析,让我们更加的熟悉和了解它,以达到更好的应用的目的. SDWebImage最常用的方法就是下面这个,我们在实际开发中,大部分时间只是用到了这个方法: [self.imageView sd_setImageWithURL:[NSURL URLWithString:@"url"] pla…
[iOS]终极横竖屏切换解决方案 大家的项目都是只支持竖屏的吧?大多数朋友(这其中当然也包括博主),都没有做过横屏开发,这次项目刚好有这个需求,因此把横竖屏相关的心得写成一遍文章供诸位参考. 01.综述 大多数公司的项目都只支持竖屏,只有一两个界面需要同时支持横屏,就像视频 APP 一样,只有视频播放的时候需要横屏,其他时候都只允许竖屏.给出的 demo 中处理两种需要横屏的情形: 第一种是录制视频时横屏 第二种是播放视频时横屏 具体使用演示请前往优酷视频查看:BLLandscape Demo.…
浅析SDWebImage 在日常的开发过程中,如果去优雅的访问网络的图片并去管理每个工程必须要面对的问题,如果想要在工程里面提供易用.简洁.方便管理的解决方案还是很有挑战的,毕竟还要兼顾图片文件的缓存.本地持久存储以及缓存控制等方方面面的问题,那么我们作为一线的开发人员如果想要快速的在工程里面实现这样的功能,那么第三方的库是首先的选择,站在巨人的肩膀上总比我们自己再去造个轮子要简单的多.所以选择使用SDWebImage就成了我们的比较好的选择.下面就用代码调用的逻辑上去分析一下整个开源代码的内容…
01.KVO 原理 KVO 是 key-value observing 的简写,它的原理大致是: 1.当一个 object(对象) 有观察者时候,动态创建这个 object(对象) 的类的子类(以 NSKVONotifying_ 打头的类) 2.对于每个被观察的 property(属性),重写其 setter 方法  3.在重写的 setter 方法中调用以下方法通知观察者 :  -willChangeValueForKey:  -didChangeValueForKey:  4.当一个移除观察…
判断两个控件在同一个Window上是否有重叠 //对UIView写分类 - (BOOL)intersectWithView:(UIView *)view; - (BOOL)intersectWithView:(UIView *)view { UIWindow *window = [UIApplication sharedApplication].keyWindow; CGRect selfRect = [self convertRect:self.bounds toView:window]; C…
项目中有很多地方需要添加点击事件,重复代码很多,所以做了一个UIView的分类,专门做点击事件使用.项目地址:UIView-Tap 代码很简单,主要有一点就是注意分类不能直接添加属性,需要用到运行时相关内容. 代码如下: \\UIView+Tap.h文件 @interface UIView (Tap) - (void)addTapBlock:(void(^)(id obj))tapAction; @end \\UIView+Tap.m文件 #import <objc/runtime.h> st…
在我们平常我们用的app当中,当你在信号不好网络错误的时候,一般都会有个提示:“网络错误请点击重试~” 的话术,或者说当你浏览某一页的时候,没有数据,也会提示:“暂无数据,请搞点动静” 之类的话术. 下面写了一个空白页(配合masonry),直接把分类拖进去用可以了 先看效果图: 1.网络错误 2.无数据 上菜: 建一个UIView的分类 利用runtime动态添加属性的方法实现空白视图效果 @class CDMNetErrorPageView , CDMBlankPageView; @inte…