事件背景:彩票项目中点击检查更新之后的操作,高斯模糊效果并弹出HUD 注意:在应用别人的框架的时候,最好封装一下下. 新建一个类  继承自高斯模糊的类. 使用方法:新建一个高斯模糊类的View,添加到主窗口…
iOS开发小技巧 遇到的问题: 给Label添加中划线,然后并没有效果 NSString *str = [NSString stringWithFormat:@"合计金额 ¥%.2f",model.amount]; NSDictionary *attrDic = @{ NSStrikethroughStyleAttributeName: @(1), NSFontAttributeName : Font(FONT_SIZE_12) }; NSMutableAttributedString…
iOS开发小技巧 - runtime适配字体 版权声明:本文为博主原创文章,未经博主允许不得转载,有问题可联系博主Email: liuyongjiesail@icloud.com 一个iOS开发项目无外乎就是纯代码布局.xib或SB布局.那么如何实现两个方式的字体大小适配呢? 字体大小适配------纯代码 定义一个宏定义如下: #define SizeScale (SCREEN_WIDTH != 414 ? 1 : 1.2) #define kFont(value) [UIFont syste…
[iOS开发]tableView-section圆角边框解决方案 tableView圆角边框解决方案 iOS 7之前,图下圆角边框很容易设置 iOS 7之后,tableviewcell的风格不再是圆角了 设置tableView中section圆角边框,需求如下: 找了很多办法都没办法解决. 设置过tableView的边框,但是发现,滑动tableView的时候,其实是里面的content在移动,也就是,向上向下滑,边框并不会动=.=. 可以试着打印tableView的frame,发现frame的…
1.即时通讯项目中输入框(UITextView)跟随输入文字的增多,高度变化的实现 最主要的方法就是监听UITextView的文字变化的方法- (void)textViewDidChange:(UITextView *)textView 通过UITextView的contentSize的高度来决定textView的高度.随着TextView中文字的增多,TextView的contentSize也会随着变化,所以实现这个功能,contentSize是个很重要的属性 - (void)textView…
在ios开发中,有时候我们需要频繁播放某种提示声音,比如微博刷新提示音.QQ消息提示音等,对于这些短小且需要频繁播放的音频,最好将其加入到系统声音(system sound)里. 注意: 需要播放的音频文件不能超过30秒 必须是IMA/ADPCM格式[in linear PCM or IMA4(IMA/ADPCM) format] 必须是.caf  .aif .wav文件 1.自定义系统声音 // 要播放的音频文件地址 NSString *urlPath = [[NSBundle mainBun…
1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [[self.searchBar.subviews objectAtIndex:0] removeFromSuperview]; 2,NSDate: 字母  日期或时间元素    表示     示例 G     Era   标志符     Text     AD y     年     Year   …
一.美工出图 二.第三方框架 -- DRNRealTimeBlur,框架继承自UIView.使用方法:创建UIView直接继承自框架的View,就有了毛玻璃效果 三.CoreImage -- 图片加高斯模糊 四.添加UIToolBar控件…
一.开发中难免会遇到,系统返回的数据中字典套集合,集合里面又套一层字典,然后字典里面还有字典或者集合等等的复杂结构的数据...MJExtension轻松搞定这类问题 1.解决方法一: 例:百思项目中帖子数据有个模型,模型中还有一个最热评论的集合数据,集合数据要求是ChaosComment模型数据,然后ChaosComment模型中还有一个user字典(ChaosUser模型),如图: 解决方案:利用MJExtension,实现mj_objectClassInArray方法,告诉模型中的这个集合属…
一.在解析json数据的时候,得到的集合对象或者数组对象在用%@打印的时候回出现类似乱码的情况.如图: 在iOS中打印字典或者数组对象,系统会默认调用字典对象和数组对象的descriptionWithLocale:方法.所以解决方案就是增加在.m文件中重写了两个descriptionWithLocale:方法.以后用的时候直接将文件拖进项目. // // NSDictionary+Log.m // 05-掌握-多值参数 // // Created by xiaomage on 15/7/13.…
1.通过下面方式可以获取图片的像素颜色点:- (void*)getImageData:(UIImage*)image{    void* imageData;    if (imageData == NULL)         imageData = malloc(4 * image.size.width * image.size.height);        CGColorSpaceRef cref = CGColorSpaceCreateDeviceRGB();    CGContextR…
iOS相机相册的正确打开方式- UIImagePickerController 通过指定sourceType来实现打开相册还是相机 UIImagePickerControllerSourceTypePhotoLibrary, // 相册库,范围比PhotosAlbum要大 UIImagePickerControllerSourceTypeCamera, // 相机 UIImagePickerControllerSourceTypeSavedPhotosAlbum // 相册 打开之前一定判断设备…
iOS键盘 inputView 和 inputAccessoryView 1.inputAccessoryView UITextFields和UITextViews有一个inputAccessoryView的属性,当你想在键盘上展示一个自定义的view时,你就可以设置该属性.你设置的view就会自动和键盘keyboard一起显示了. 需要注意的是,你所自定义的view既不应该处在其他的视图层里,也不应该成为其他视图的子视图.其实也就是说,你所自定义的view只需要赋给属性inputAccesso…
iOS程序进入后台运行的实现 视频中看到老师用的iOS7,代码中有开启timer,无限请求数据的功能,但是切换到后台,代码就不打印了 自己用的iOS9,进入后台还是可以打印的,再次进入前台也可以正常运行,但是功能不实现了 实现程序后台运行的方法 /** * 程序进入后台后 * * @param application */ - (void)applicationDidEnterBackground:(UIApplication *)application { // 向操作系统申请后台运行的资格,…
iOS中设置applicationIconBadgeNumber 在iOS7中直接设置applicationIconBadgeNumber没有问题,但是在iOS8之后设置applicationIconBadgeNumber,程序没有反应. 因为在iOS8之后想要设置applicationIconBadgeNumber,需要用户授权,在iOS8中,需要加上下面的代码: UIUserNotificationSettings *settings = [UIUserNotificationSetting…
一.定时器的使用技巧 -- 定义好了定时器后,添加两个方法,一个是添加定时器的方法,另一个是移除定时器的方法. 使用的时候也要注意,一定先移除之前的timer,然后再添加timer…
自定义控件注意或框架注意:自己暴露在外面的属性,一定要重写setter,保证外界与内部的交互性 一.方案一:通过drawRect:方法将文字画到textView中,监听文字改变用的是通知中心(代理也可以监听文字改变,但是这种方式就成了自己作为自己的代理了,不推荐这种方法)发出的消息 UITextViewTextDidChangeNotification.自己监听通知. 对外界提供两个属性 内部实现 #import "ChaosPlaceholdTextView.h" @implemen…
1. 解析详情页(是webView)遇到的3个问题: 1.图片太大,超出屏幕范围 2.怎么在webView上面添加一行文字 3.文字太小 1.解决方法 webView.scalesPageToFit =YES; 2.字符串拼接html代码 3.解决方法 设置代理 - (void)webViewDidFinishLoad:(UIWebView *)webView{ [webView stringByEvaluatingJavaScriptFromString:@"document.getEleme…
1.Xcode配置 1.1> 安装Alcatraz包管理器 打开Terminal终端命令行 curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh 1.2> 安装各种插件: 1. CocoaPods 管理框架 2. FuzzyAutocomplete 自动补充代码(模糊搜索) 3. OMColorSense 颜色:使用UIColor / NSColor 4. KSImageName…
1.IOS模拟器第一次打开需要进入“设置”中关掉"Auto-Capitalization"选项. 2.NSInteger转化 NSString类型: [NSString stringWithFormat: @"%d", NSInteger]; NSString转化 NSInteger类型: NSInteger = [NSString intValue];…
一.NSLog的使用 NSLog在调试的时候,屡试不爽,可是在项目中用的太多,其实是会影响程序性能的,而且程序在非调试模式下也看不到打印,多浪费资源呢?如果程序中使用的太多,发布前删除又是一个麻烦事,下个版本又要使用呢? 因此,在pch文件中,加一个重写打印的宏,方便又安逸,还能提高逼格,经验丰富的开发人员都这么用. #ifdef DEBUG # define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION_…
一.添加自定义字体 1.把字体文件拖到工程中. 2.plist 文件中添加字段:<Array>Fonts provided by application</Array> 把字体文件全名添加到数组中. 3.使用以下代码找出添加的字体名称. for(NSString *fontfamilyname in [UIFont familyNames]){ NSLog(@"family:'%@'",fontfamilyname); for(NSString *fontNam…
Label中的文字添加点击事件 GitHub地址:https://github.com/lyb5834/YBAttributeTextTapAction 以前老师讲过类似的功能,自己懒得回头看了,找了很多第三方的,感觉这个小巧便利,作者只是扩展了分类,实现起来代码也少.先来个效果图 自己的项目,直接上代码 - (void)setTopicModel:(CYQTopicModel *)topicModel { _topicModel = topicModel; NSArray *likeArr =…
微博项目中的键盘工具条 项目中的键盘工具条不能使用inputAccessoryView,因为inputAccessoryView不能实现键盘隐藏的时候,工具条还显示在眼前,如图: 所以,果断决定将工具条添加到控制器View上面 /// 初始化键盘工具条 - (void)setupKeyboardToolBar { ChaosKeyboardToolbar *keyboardToolbar = [[ChaosKeyboardToolbar alloc] init]; keyboardToolbar…
计算label的Size方法 sizeWithAttributes:方法 适用于不换行的情况,宽度不受限制的情况 /// 根据指定文本和字体计算尺寸 - (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font { NSMutableDictionary *attrDict = [NSMutableDictionary dictionary]; attrDict[NSFontAttributeName] = font; return [t…
纯代码自定义cell 自定义cell的步骤(每个cell的高度不一样,每个cell里面显示的内容也不一样) 1.新建一个继承自UITableViewCell的子类 2.在initWithStyle:方法中进行子控件的初始化 2.1将有可能显示的所有子控件添加到contentView中,代码如下 2.2顺便设置子控件的一些属性(一次性属性:文字颜色,字体,背景) /// cell初始化方法中对子控件进行初始化 - (instancetype)initWithStyle:(UITableViewCe…
Label借助富文本显示图片 1.即时通讯项目中语音消息UI的实现,样式如图: 借助富文本在UILabel中显示图片和文字 // 1.创建一个可变的富文本 NSMutableAttributedString *voiceAttr = [[NSMutableAttributedString alloc] init]; if ([self.reuseIdentifier isEqualToString:@"receiveCell"]) { // 接收方的label:图片 + 时间 // 2…
代码: // 修改进度条的指针图片 [self.progressSlider setThumbImage:[UIImage imageNamed:@"player_slider_playback_thumb"] forState:UIControlStateNormal]; 原来的样子: 现在的样子:…
如果BarButtonItem是通过[[UIBarButtonItem alloc] initWithCustomView:(nonnull UIView *)]方法设置的.某些情况下需要修改BarButtonItem中自定义View的某些属性,例如显示的文字或者显示的图片. 可以通过BarButtonItem的customView获取自定义的View.…