iOS_UI
东风不来1
这个作者很懒,什么都没留下…
展开
-
处理collection的点击事件与其他事件冲突的方法
pragma mark–手势的代理方法(BOOL )gestureRecognizer:(UIGestureRecognizer )gestureRecognizer shouldReceiveTouch:(UITouch )touch{ if (touch.view != self.innoCollView) { return NO; }return YES; }原创 2016-07-07 14:40:01 · 757 阅读 · 0 评论 -
扩展uitabbar,解决消息提示小红点过大的问题
系统的uitabar小红点显示过大,需要修改其尺寸,我们可以通过扩展uitabBar的方式解决: 代码如下: .h:#import <UIKit/UIKit.h>@interface UITabBar (badge)- (void)showBadgeOnItemIndex:(int)index; //显示小红点- (void)hideBadgeOnItemIndex:(int)index;转载 2015-12-31 13:40:10 · 866 阅读 · 0 评论 -
iOS多线程GCD
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。dispatch queue分成以下三种:1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。 复制代码/*! * @function dispatch_get_main_queue * * @abstract * Returns the defau转载 2015-11-30 17:01:51 · 269 阅读 · 0 评论 -
iOS设置同一个Label的不同颜色的字体
使用以下方法: priceStr = @”¥28888/月”; NSMutableAttributedString *price =[[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@”%@”,priceStr]]; NSRange blankRange = NSMakeRa原创 2015-11-19 15:58:23 · 416 阅读 · 0 评论 -
ios 剪裁图片
UIImage *coverImage = [UIImage imageNamed:imageStr]; [self.coverImageView setImage:[UIImage imageWithCGImage:CGImageCreateWithImageInRect([coverImage CGImage], CGRectMake(23, 36, screenWidth, 220)原创 2015-11-17 17:04:34 · 341 阅读 · 0 评论 -
一篇关于通知的文章
在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情。iOS中通知机制又叫消息机制,其包括两类:一类是本地通知;另一类是推送通知,也叫远程通知。两种通知在iOS中的表现一致,可以通过横幅或者弹出提醒两种形式告诉用户,并且点击通知可以会打开应用程序,但是实现原理却完全不同。今天就和大家一块去看一下如何在iOS中实现转载 2015-10-15 16:47:43 · 839 阅读 · 0 评论 -
伸缩图片
今天做了一个温度计的应用,需要一个图,能够根据输入的数据将温度计里面的红色图片拉伸。为了达到这个效果,使用了iOS5的函数:resizableImageCapInsets:(UIEdgeInsets)Insets。其中Insets这个参数的格式是(top,left,bottom,right),从上、左、下、右分别在图片上画了一道线,这样就给一个图片加了一个框。只有在框里面的部分才会被拉伸,而框外面的转载 2015-10-15 12:05:06 · 491 阅读 · 0 评论 -
masonry 设置多行Label
//详情 self.detailLabel = [UILabel new]; self.detailLabel.font = [UIFont systemFontOfSize:15]; self.detailLabel.numberOfLines = 0; self.detailLabel.preferredMaxLayoutW原创 2015-11-14 16:39:08 · 4229 阅读 · 0 评论 -
文章标ios 9.0SDK 没有.dylib
方法1. (heqin测试可行)在项目Target中的Link Binary With Libraries 手动添加 首先点击 “+” 显示搜索添加页面,在这里如果搜索之前的libsqlite3.dylib是搜不出来ios9之前的。所以需要点击 Add Other,出现文件目录页面,正常情况这里去通过Finder也是找不到老的libsqlite3.dylib文件的,因为这个文件是隐藏掉的。所以需转载 2015-10-28 15:42:05 · 358 阅读 · 0 评论 -
AutoLayout框架Masonry使用心得
我们组分享会上分享了页面布局的一些写法,中途提到了AutoLayout,会后我决定将很久前挖的一个坑给填起来(还有好多坑就不说了,说了不填更毁形象了)。可使用的框架首推Masonry,关于为啥选择Masonry看看官方文档就明白了https://github.com/SnapKit/Masonry,官方称AutoLayout所有功能Masonry都支持。这次项目界面方面我就全部使用了Masonry。转载 2015-11-14 12:07:57 · 1698 阅读 · 0 评论 -
UIGraphicsBeginImageContext系列知识
UIGraphicsBeginImageContext 创建一个基于位图的上下文(context),并将其设置为当前上下文(context)。方法声明如下:void UIGraphicsBeginImageContext(CGSize size);参数size为新创建的位图上下文的大小。它同时是由UIGraphicsGetImageFromCurrentImageContext函数返回的图形大小。转载 2016-01-22 15:46:15 · 796 阅读 · 0 评论 -
中央剪切图片
中央剪切图片后上传可极大的减小上传图片的大小: -(UIImage ) imageCompressForSize:(UIImage )sourceImage targetSize:(CGSize)size{ UIImage *newImage = nil; CGSize imageSize = sourceImage.size; CGFloat width = ima转载 2016-01-22 17:03:07 · 322 阅读 · 0 评论 -
免费的天气接口
http://wthrcdn.etouch.cn/weather_mini?city=北京 通过城市名字获得天气数据,json数据 http://wthrcdn.etouch.cn/weather_mini?citykey=101010100 通过城市id获得天气数据,json数据转载 2016-06-20 14:55:06 · 8119 阅读 · 0 评论 -
iOS解决UIcollectionView添加手势后不响应其cell的问题
1.添加手势到collectionView并设置代理 UITapGestureRecognizer *innoCollTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(innoCollTapAction:)]; innoCollTap.delegate = self;原创 2016-06-20 10:47:36 · 8002 阅读 · 0 评论 -
学习iOS、React Native、算法开发的建议
1、iOS开发学习 iOS开发把我的工资提升了6倍多。而且,即使提升到16倍,我也不觉得太多,业界也觉得不算多。这就是行业选择造成的差距,如果我留在原来的行业,呵呵,想把工资提升1倍,在有生之年都不知道有没有可能。1)iOS例程: https://github.com/ibireme/YYKit 2)iOS书籍: 《iOS编程(第4版)》 3)iOS社区: http://stackove转载 2016-02-25 18:15:59 · 427 阅读 · 0 评论 -
NavigationBar底部分割线隐藏
有时我们需要实现如下场景, (1)在同一个界面中 显示与隐藏NavigationBar底部分割线 (2)当离开这个ViewController的时候,仍然需要显示底部分割线。 效果图如下所示:图1图2(1)定义变量 UIImageView*navBarHairlineImageView;(2)创建findHairlineImageViewUnder方法,并在viewDidLoad中调用 -转载 2016-02-25 16:07:23 · 2013 阅读 · 0 评论 -
更改tabblebar的背景颜色
最近修改的项目都是基于IOS 5.0或以上的版本的,在IOS 6一下的版本中,系统默认的tabbar是黑色的,但是此项目需要改成兼容IOS 7和IOS 8的,大家都知道IOS 7开始,IOS的 UI 进入了扁平的时代,改动也是相当大的,tabbar默认的改成了白色半透明的效果,需要将tabbar修改成黑色的效果,但是又不想将源代码改动的过大,今天也是不费辛苦,找到了解决的方案。首先要创建tabBar转载 2016-02-25 15:38:20 · 984 阅读 · 0 评论 -
iOS系统GCD学习(5):信号量机制
当我们在处理一系列线程的时候,当数量达到一定量,在以前我们可能会选择使用NSOperationQueue来处理并发控制,但如何在GCD中快速的控制并发呢?答案就是dispatch_semaphore,对经常做unix开发的人来讲,我所介绍的内容可能就显得非常入门级了,信号量在他们的多线程开发中再平常不过了。 信号量是一个整形值并且具有一个初始计数值,并且支持两个操作:信号通知和等待。当一个信号转载 2016-02-23 15:48:04 · 328 阅读 · 0 评论 -
iOS9 TableView和ScrollView滚动不响应问题
文章链接:http://blog.csdn.net/meegomeego/article/details/48547583转载 2016-02-23 14:25:25 · 642 阅读 · 0 评论 -
iOS 视图在调用popToRootViewControllerAnimated:时uitabBar出现叠加
出现叠加的原因是:iOS8 是允许动态添加tabbaritem的,所以,已经移除的UITabBarButton会再次出现,所以需要将出现的UITabBarButton在界面将要加载的时候删除就可以了. - (void)viewWillLayoutSubviews{ for (UIView *childView in self.tabBarController.tabBar.subview原创 2015-12-04 11:45:13 · 1782 阅读 · 0 评论 -
iOS图片拉伸技巧
纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能、极强的用户体验、华丽简洁的外观。华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑。比如下面张图片,本来是设计来做按钮背景的:button.png,尺寸为:24x60现在我们把它用作为按钮背景,按钮尺寸是150x50: [java] view转载 2016-01-22 18:07:27 · 321 阅读 · 0 评论 -
IOS通知的注册和调用
注册通知[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(changeLabelText:)name:@”ChangeLabelTextNotification”object:nil];通知方法:-(void)changeLabelText:(NSNotification *)notification{id转载 2015-10-27 14:26:52 · 454 阅读 · 0 评论 -
剪裁图片
图片是网络获取的图片: //剪裁图片 NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[model.coverImageArray objectAtIndex:0]]]; UIImage *coverImage = [UIImage imageWithData:data]; C原创 2015-10-26 09:56:11 · 278 阅读 · 0 评论 -
UIWebView的三种加载方式
UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等。这篇文章我将使用这个控件,做一个简易的浏览器1.加载本地的二进制文件:NSData *data = [NSData dataWithContentsOfFile:path]; [self.webView loadData:data MIMEType:@"原创 2015-04-28 21:24:57 · 564 阅读 · 0 评论 -
UIScrollView 类常用属性方法
CGRect bounds = [ [ UIScreen mainScreen ] applicationFrame ] ;UIScrollView* scrollView = [ [UIScrollView alloc ] initWithFrame:bounds ];当你创建完滚动视图后,你可以将另一个视图的内容粘合到滚动视图的空白页上。这回创建一个滚动的内容窗口:[java] v转载 2015-04-28 20:56:58 · 382 阅读 · 0 评论 -
自己封装UIPickerView加一个时间范围
1.添加代理:@interface ViewController ()2.添加存储数组和视图://视图@property(nonatomic,strong)UIPickerView *pickerView;//日期@property(nonatomic,strong)NSMutableArray *dayDateArray;//消失@property原创 2015-04-29 20:26:21 · 1028 阅读 · 0 评论 -
UIDatePicker的使用
UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期、时间和持续时长的输入。日期选取器的各列会按照指定的风格进行自动配置,这样就让开发者不必关心如何配置表盘这样的底层操作。你也可以对其进行定制,令其使用任何范围的日期。UIDatePicker 依赖于 NSDate 类,这个类是cocoa 基础的一员,以前用于桌面系统转载 2015-04-29 19:58:25 · 390 阅读 · 0 评论 -
UIWebView详解
修改UIWebView的字体大小,字体颜色,和页面背景色在webView的delegate回调方法-webViewDidFinishLoad:(UIWebView*)webView;中写上一下语句即可 //字体大小 [webView stringByEvaluatingJavaScriptFromString:@"document.getElemen转载 2015-04-29 15:01:41 · 437 阅读 · 0 评论 -
给页面加风火轮
1在.h或者.m中添加UIActivityIndicatorView的属性@property(retain,nonatomic)UIActivityIndicatorView *indicator;2.添加代码:#pragma mark -- 风火轮- (void)creatLoadingView{ self.indicator = [[UIActivityIndicato原创 2015-04-29 09:34:22 · 792 阅读 · 0 评论 -
UILabel的自适应高度iOS7.0以上版本
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10,200,100,50)]; label.numberOfLines = 0; NSDictionary *strAtt = @{NSFontAttributeName:[UIFont systemFontOfSize:17]}; NSString原创 2015-03-07 10:01:31 · 382 阅读 · 0 评论 -
网络请求的封装方法
网络请求:Connection.h文件#import "Connection.h"@implementation Connection- (instancetype)init{ self = [super init]; if (self) { self.data = [NSMutableData data]; } return self原创 2015-03-07 10:42:25 · 373 阅读 · 0 评论 -
objectForKey与valueForKey在NSDictionary中的差异
从 NSDictionary 取值的时候有两个方法,objectForKey: 和 valueForKey:,这两个方法具体有什么不同呢?先从 NSDictionary 文档中来看这两个方法的定义:objectForKey: returns the value associated with aKey, or nil if no value is associated with aKey.转载 2015-03-07 10:09:14 · 309 阅读 · 0 评论 -
获取网络图片
- (BOOL) loadWebImage{BOOL result = NO;UIImage* image=nil;NSString* path =[NSString stringWithFormat:@"http://soloking.v323.net/image/%s.jpg",[self.titleUTF8String]];NSURL* url = [NSURL URLW转载 2015-07-02 19:01:23 · 384 阅读 · 0 评论 -
解决隐藏NavigationBar后跳转界面闪现小黑块的问题
隐藏和显示navigationBar时用[self.navigationController setNavigationBarHidden:YES animated:YES];和[self.navigationController setNavigationBarHidden:NO animated:YES];可以解决原创 2015-09-11 11:57:31 · 1356 阅读 · 0 评论 -
使用Masonry
之前只有比较浅的接触过Masonry。项目中大多数的布局还是用xib中的AutoLayout与手码的frame计算相结合,相信也会有很多项目和我一样是这两种布局的组合。其实xib各方面用的感觉都挺好,以前是性能问题,冲突问题饱受人诟病,但随着苹果的更新换代这些问题也逐渐趋向最小化。 我们团队整改的主要原因是为了更细粒度的组件化。因为将一块代码复用到另一个页面远比从xib中拖几个控件到别的页面来的要转载 2015-11-10 18:09:17 · 2197 阅读 · 0 评论 -
UITableView的reloadData方法,不执行cellForRow方法,但是执行了numberOfRows和heightForRow方法
可能是因为cell上有图片的异步加载,只需将reload放在主线程就行了:dispatch_async(dispatch_get_main_queue(), ^{ [self.tableView reloadData];});原创 2015-11-08 13:34:48 · 2068 阅读 · 0 评论 -
再navigationView上添加视图
[[UIApplication sharedApplication].keyWindow addSubview:self.rightMore];可以添加到基础父类的视图上,所以可以添加到nav上去原创 2015-10-22 14:35:31 · 502 阅读 · 0 评论 -
只设置视图的一个或几个角为圆角
可以使用 CAShapeLayer *styleLayer = [CAShapeLayerlayer];UIBezierPath *shadowPath = [UIBezierPathbezierPathWithRoundedRect:cardStyleView.boundsbyRoundingCorners:(UIRectCornerTopLeft|UIRectCornerTopRight) c转载 2015-10-20 17:54:15 · 918 阅读 · 0 评论 -
UIBezierPath贝塞尔弧线常用方法记
/根据一个矩形画曲线(UIBezierPath *)bezierPathWithRect:(CGRect)rect//根据矩形框的内切圆画曲线(UIBezierPath *)bezierPathWithOvalInRect:(CGRect)rect//根据矩形画带圆角的曲线(UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect corn转载 2015-10-20 18:21:51 · 338 阅读 · 0 评论 -
iOS8以后第三方键盘,获取高度为0的问题
IOS8.0之后可以安装第三方键盘,如搜狗输入法之类的。 但是使用以前的方法获得的高度都为0. 可以在UIKeyboardDidChangeFrameNotification的通知中实现,这里需要注意的是:在弹出键盘时该方法执行3次,需要进行处理,已达到所要的效果. 注册键盘事件: [[NSNotificationCenter defaultCenter]addObserver:se原创 2015-10-17 16:11:35 · 5074 阅读 · 2 评论