和base64互转 19.检查一个rect是否包含一个point 20.UITextView中打开或禁用复制,剪切,选择,全选等功能 21.用stringByReplacingOccurrencesOfString...光标 37、当UITextView/UITextField中没有文字时,禁用回车键 38、通知监听APP生命周期 39、获取collectionViewCell在屏幕中的frame 40、UITextField...45、使用xib设置UIView的边框、圆角 46、将一个xib添加到另外一个xib上 47、处理字符串,使其首字母大写 48、获取字符串中的数字 49、自动搜索功能,用户连续输入的时候不搜索,用户停止输入的时候自动搜索...,剪切,选择,全选等功能 // 继承UITextView重写这个方法 - (BOOL)canPerformAction:(SEL)action withSender:(id)sender { // 返回...NO为禁用,YES为开启 // 粘贴 if (action == @selector(paste:)) return NO; // 剪切 if (action == @selector
的object 都可以处理 必须先import QuzrtzCore.framework -(UIImage*)captureView:(UIView *)theView { CGRect rect...从UIView中获取图像相当于窗口截屏。 (iOS提供全局的全屏截屏函数UIGetScreenView()....对于特定UIView的截屏。...(可以把当前View的layer,输出到一个ImageContext中,然后利用这个ImageContext得到UIImage) -(UIImage*)captureView: (UIView *)theView...从CGImage上获取图像数据区。
报错 DSL_image这个东西在UIView中找不到,为什么是UIView呢?明明我们创建的是一个UIImageView。...原因很简单,因为我们的DSL_frame是在UIView的category中声明并实现的,更要命的是,UIView(DSL)中声明的DSL_frame这个方法返回的block的返回值是一个UIView对象...: - (UIView* (^)(CGRect))DSL_frame;, 针对于这个问题,目前笔者只想到一种解决方法:把在UIView(DSL)中声明的方法拷贝一份到UIImageView(DSL)....最终的UIImageView(DSL)头文件 如下: @interface UIImageView (DSL) #pragma mark - UIView /// 这些是在UIView(DSL)中拷贝过来的方法...DSL_frame和DSL_backgroundColor这两个方法,因为已经在UIView(DSL).m中实现过。
特记录以下内容,整理自ios核心动画高级技巧 · GitBook (墙裂推荐阅读此翻译文档) contents 属性 这个属性的类型被定义为id(这是由于MacOSX历史原因造成的,因为在Mac中这个属性对...示例1: -(void\)viewDidLoad { [super viewDidLoad]; UIImage *image = [UIImage imageNamed:@"demoImage"...contentsScale maskToBounds 默认情况下,UIView会绘制超过边界的内容或子视图,CALayer也一样。...UIView有一个叫做clipsToBounds属性可以用来决定是否显示超出边界的内容,CALaer对应的属性是maskToBounds,设置为YES,会剪去超出边界的部分(不显示)。 ...它与UIImage的-resizableImageWithCapInsets:方法相似。 ? contentsCenter 这个属性是可以在Interface Builder 里面进行配置的。 ?
视图在层级关系中可以互相嵌套,一个视图可以管理它的所有子视图的位置。 在iOS中,所有的视图都是从UIView这个基类派生出来的。...1.3 平行的层级关系 每个UIView都对应着一个CALayer,视图的职责是创建并管理这个图层,以确保党子视图在层级关系中添加或者被移除的时候,他们对应的图层也同样的在对应的层级关系树中有相同的操作...= [UIColor whiteColor]; [self.view addSubview:layerView]; UIImage *image = [UIImage imageNamed...因为CGImage和UIImage不一样,它没有拉伸的感念。用UIImage读取图片时,读取了高质量的Retina图片。...这是因为我们在CALayerDelegate方法中,没有对超出边界歪的内容提供绘制支持。 除非创建一个单独的图层,我们平时基本不会用到CALayerDelegate。
tabbar选中颜色 iOS7设置如下: [self.tabBarController.tabBarsetSelectedImageTintColor:[UIColor greenColor]]; ios8中如下设置...imageNamed:@"setting"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 设置tabbar背景图片 UIView...*backView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, Main_Screen_Width, 49)]; backView.backgroundColor...if([tabBarSubviews count] < index4SelView+1) { assert(false); return; } UIView...setNoHighlistTabBar:self]; 还有setSelectIndex:方法中也要执行[self setNoHighlistTabBar:self];
控件 : 1.创建 UIView 控件 : 使用 UIView 的 alloc init 方法 , 创建 UIView 控件 ; //1....根 View 组件 , 然后将 生成的 UIView 控件添加到 该 根 View 控件中 ; //4....中定义 // ③ 判定组件类型 : 通过调用 [uiView isKindOfClass:[UIButton class]] 方法可以判断 uiView 是否是 UIButton 类型的组件 - (IBAction...常用方法属性 : 1.tag 属性 : 用于标示控件 , 不能改变控件外观 ; 2.removeFromSuperView 方法 : 将 子控件 从 父控件 删除 ; 3.addSubView 方法...- (NSArray *)pics { // 懒加载优化 , 原则 2 : 只有 pics 属性为 空时 才开始从 list 中 初始化 数据 if(_pics == nil){
视图在层级关系中可以相互嵌套,一个视图可以管理他的所有所有子视图的位置。...上面我们通过CALayer在一个普通的UIView中展示了一张图片。...CALayer中与UIView的 contentMode 属性相对应的属性是contentsGravity,它的值是一个NSString类型,有如下选项: kCAGravityCenter kCAGravityTop...CALayer中也有一个对应的属性,叫做masksToBounds,它的作用跟UIView的clipsToBounds属性是一样的。...contentsRect的默认值是{0,0,1,1},它表示的是,从寄宿图像素尺寸的原点(0,0)开始,分别截取宽、高的1倍长度,其实就是展示整个寄宿图。
1、如果在程序中想对某张图片进行处理的话(得到某张图片的一部分)可一用以下代码: UIImage *image = [UIImage imageNamed:filename]; CGImageRef... context:nil]; [UIView setAnimationDuration:2]; frame.origin.x += 150; [img setFrame:frame]; [UIView ...commitAnimations]; 11、在程序中实现电话的拨打: //添加电话图标按钮 UIButton *btnPhone = [[UIButton buttonWithType:UIButtonTypeCustom...] retain]; btnPhone.frame = CGRectMake(280,10,30,30); UIImage *image = [UIImage imageNamed:@"phone.png...UIKeyboardWillHideNotification object:nil]; - (IBAction)keyboardWillHide:(NSNotification *)note 14、在一个程序中打开另一个程序的方法
一、设置导航栏底线 简单获取底线 - (UIView *)navLine { if (!..._navLine) { UIView *backgroundView = [self.navigationController.navigationBar subviews].firstObject...设置导航背景图代码 /*设置图片拉伸范围 如果图片被挤压变形的情况下*/ UIImage *backImage = [UIImage imageNamed:@"homeNav"]; backImage...此句代码解决坐标问题 [self.navigationController.navigationBar setTranslucent:YES]; //当translucent = YES,controller中self.view...的原点是从导航栏左上角开始计算 //当translucent = NO,controller中self.view的原点是从导航栏左下角开始计算 设置导航栏背景纯色 UINavigationBar
expectedTotalBytes1 { } 1.5 NSURLSession下载的文件位置改动操作 可以利用downloadTaskWithURL的回调location.path获取文件目录再拷贝或者剪切到你要的目录中去...关键API: 拷贝 [[NSFileManager defaultManager] copyItemAtPath:location.path toPath:path error:NULL]; 剪切 //...是通过UIView+WebCacheOperation分类为UIView(这里其实是UIImageView)关联的对象。这就涉及到runloop的关联对象的知识。...queryDiskCacheForKey 关键调用栈(下面这两个调用栈都在SDImageCache.m中)是: UIImage *image = [self imageFromMemoryCacheForKey...:key]; UIImage *diskImage = [self diskImageForKey:key]; 查询完缓存都没有,怎么办,就真正开始下载呗。
注意:UITabBarButton在UITabBar中得位置是均分的,UITabBar的高度为49。...*vc2=[[BHHHViewController alloc] init]; vc2.tabBarItem.title=@"排行"; vc2.tabBarItem.image=[[UIImage...弃用.png 系统自带的TabBar 中关于底部Bar的隐藏问题和返回展现的最简单的方法: 1....让某一类控件在另一种控件中同时变现某种属性 [[UIButton appearanceWhenContainedInInstancesOfClasses:@[[UIView class]]] setTitleColor..., 而且作用域是整个工程, 也就是说,不管在工程中的哪个位置写下这句代码, 整个工程中的按钮的字体颜色都会变成灰色**
在scanview中添加扫描区域 ZBarReaderViewController *reader = [ZBarReaderViewController new]; reader.readerDelegate...CGRectMake(20, 30, 320, 260); reader.scanCrop= CGRectMake(0.2, .1, .47, .8); 自定义scanview添加一个自定义的扫描框 - (UIView...*)setOverlayPickerView{ UIView *v=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];...*largeImage=[info objectForKey: UIImagePickerControllerOriginalImage]; //UIImage * PortraitImage...wherever you like [self.scanImageView setImage:[UIImage imageWithCGImage:imageRef]];
} error:^(NSError *error) { NSLog(@"GApiManger error = %@",error); }]; } 上传成功后写入iCloud中,...}]; } return _getMainData; } - (void)processListData:(NSDictionary *)dataModel { //从iCloud...中获取数据 NSUbiquitousKeyValueStore *myKeyValue = [NSUbiquitousKeyValueStore defaultStore]; NSArray...}] ; }]; } return _deleteCommand; } - (void)deleteData:(NSDictionary*)data { //从iCloud...中获取数据 NSUbiquitousKeyValueStore *myKeyValue = [NSUbiquitousKeyValueStore defaultStore]; NSArray
我要做的是从屏幕的右边开始每一个元素,然后我会让每个元素的左边动画到屏幕的左边,来到最终的位置。...持续时间是动画完成需要的时间,而阻尼是iOS 7在UIView动画方法中提供的一个弹簧属性,用来控制弹簧的弹力。...让我们将damping从0.3提升到0.6,如我之前所说,它更靠近1这个不弹的值。我们还是需要一点弹性,现在让我们来看看它怎么样了。 好了,不是太坏。...iOS 7的基于block的动画中的damping值实际上是一个解释值,这意味着苹果无论获取到你输入的什么值,都会做一些复杂的计算来操作这个值并将其放入弹簧动作方程式中。...而在实际的弹簧动作方程中,动作的时间(它到达平衡点或者最终位置的时间)是由弹簧的其他属性决定的,它不是你去设置然后强制弹簧遵循的。
self.setNeedsStatusBarAppearanceUpdate() } 弊端 但这种配置有个弊端 就是 如果你的ViewController在NavigationController中,...那么直接在ViewController设置是不生效的,只能在NavigationController中设置 所以如果你用的Storyboard中配置的NavigationController话,就必须为...另辟蹊径 创建一个UIView 设置该UIView的frame.size 和statusBar大小一样 设置该UIView的frame.origin 为{0,-20} 设置该UIView的背景色为你希望的...(), forBarMetrics: UIBarMetrics.Default) appear.shadowImage = UIImage(); //设置左右两侧的颜色 appear.tintColor...; 注意 1) appear.translucent配置在早期系统会崩溃,不建议配置,建议在ViewController中配置 2) 在translucent=true也就是透明时,barTintColor
原理解析 UIView的maskView属性。 CALayer的mask属性(也是一个CALayer)。...通过控制UIView的maskView、CALayer的mask有效区域,都可以修改UIView和 UIView的layer的显示外形,从而得到镂空或者其他的奇特形状及其动画。...实现关键点 图层中,因为UIView的layer为CALayer,不像CAShapeLayer那样有Path属性,所以我们无法直接修改layer的的显示形状,唯一能是layer显示出奇特形状的方法只有两种...*maskLayer = [CALayer layer]; [maskLayer setFrame:self.waveView.bounds]; maskLayer.contents = (id)[UIImage...CALayer *maskLayer = [CALayer layer]; [maskLayer setFrame:imageV.bounds]; maskLayer.contents = (id)[UIImage
UIView负责监听和相应事件.UIView是更高层的封装 在 iOS 中,你能看得见,摸得着的东西基本上都是UIView.比如一个按钮,一个文本标签,一个文本输入框, 一个图标等.这些都是UIView...首先 : CALayer是定义在QuartzCore框架中. CGImageRef, CGColorRef两种数据类型是定义在CoreGraphics框架中的....UIColor, UIImage是定义在UIKit框架中的....属性 设置图层的尺寸,高度和宽度 @property CGRect bounds; 设置位置 方式1: 用来设置CALayer在父层中的位置,position相当于UIView控件的center属性...给UIView设置背景图片的三种方式 设置layer的contents属性 redView.layer.contents = (__bridge id _Nullable)([UIImage imageNamed
按钮中的图片和文字的距离可以自由调整,图片的也可以上下左右翻转。日常项目中像这些场景都是很容易碰到的。 ...按钮图文设置、图文位置移动、按钮中图片翻转示例代码: /** 测试图文并茂的按钮,图文移动 */ - (void)addMoveImgAndTextButton{ //1、创建一个按钮:30x50...[iconBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [iconBtn setImage:[UIImage...*img = [UIImage imageNamed:@"btn_bg"]; UIButton *clickBtn = [[UIButton alloc] initWithFrame:CGRectMake...欢迎指出博客中的错误。以免更多的人被误导。
这里对圆形头像进行了封装,给image添加分类,传入一张图片,返回一张圆形图片 UIImage+CLExtension.m #import "UIImage+CLExtension.h" @implementation...setFrame中对cell的位置和宽高同时做修改时,建议使用一个UIView当做载体,heardView上添加UIView,UIView上在添加cell,此时cell的setFrame不会对UIView...UIView提供了转换坐标系和判断两个空间是否有重叠的方法, // 让rect这个矩形框, 从view2坐标系转换到view1坐标系, 得出一个新的矩形框newRect CGRect newRect...的分类中,自定义window,在application中延迟添加显示。...判断控件是否交叉方法 -(BOOL)intersectWithView:(UIView *)view { // 这里使用keywindow是为了防止两个控件在两个不同的window中,这种情况一般不会出现
领取专属 10元无门槛券
手把手带您无忧上云