![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
chinnyman
热爱编程是一种信仰
展开
-
修改UITextField的placeholder颜色
修改UITextField的placeholder颜色共有三种方法原创 2016-04-05 11:16:58 · 451 阅读 · 0 评论 -
iOS - UITextFieldKeyBoardPan为时间选择器
时间选择器需要用到”UIDatePicker”这个类, 代码如下:#import "ViewController.h"@interface ViewController ()<UITextFieldDelegate>@property (weak, nonatomic) IBOutlet UITextField *dateTF;@property (nonatomic, strong) UIDa原创 2016-04-07 17:22:08 · 1151 阅读 · 0 评论 -
DeviceInfo-设备信息
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //当前设备 UIDevice *dev = [UIDevice currentDevice]; //开启电池监控 [[UIDevice curren原创 2016-04-13 16:50:49 · 2559 阅读 · 0 评论 -
优化的自动计算cell中文字的高度
处理cell中文字的高度, 我们一般会在返回cell高度的方法中做操作. 但是, 这样会存在一个问题, 就是重复的计算已有数据的cell高度. 为了解决这个问题, 我们干脆把cell高度的计算放在对应模型的属性里面, 这样, 可以减轻控制器中代码的冗余数量. 而且, 显得结构鲜明, 易于读代码.//第一步: 在对应的模型中增加一个辅助的属性. 注意: 这里我们之所以用到readonly来标识属性,原创 2016-04-11 10:53:34 · 579 阅读 · 0 评论 -
如何判断服务器返回的图片类型为GIF
/*第一种: 根据服务器返回的图片后缀类型来进行判断*/ //pathExtension: 直接获取路径扩展名, lowercaseString: 转化为小写 NSString *extensionName = model.image_url.pathExtension; //判断gif图标识是否显示 self.gifView.hidden = ![extensionNa原创 2016-04-11 11:25:06 · 2385 阅读 · 0 评论 -
@Property的一点说明
1. 系统做的三件事: a.生成一个getter方法; b.生成一个setter方法; c.生成一个带下划线的成员变量;2. 注意: a. 如果自己实现了getter方法和setter方法, 那么系统不会自己帮你生成带下划线的成员变量 b. 如果你使用readonly来限制系统为你实现setter方法, 同时你又自己实现了getter方法,原创 2016-04-11 11:42:02 · 349 阅读 · 0 评论 -
NSCalendar的使用
I. 获取具体的 年, 月, 日, 时, 分, 秒 元素 //当前日历 NSCalendar *calendar = [NSCalendar currentCalendar]; //获得NSDate每一个元素 // - component:fromDate: // Desc - Returns the specified date component from a原创 2016-04-11 15:10:04 · 803 阅读 · 0 评论 -
如何把图片存储到相册簿
//保存图片的方法- (IBAction)save { //将图片写入相册 // Adds a photo to the saved photos album. The optional completionSelector should have the form:(官方提示你使用下面的方法来检测保存是否成功) // - (void)image:(UIImage *)im原创 2016-04-28 10:15:48 · 598 阅读 · 0 评论 -
如何使用SSH来克隆项目
1.添加SSH公钥打开terminal,输入以下命令:1.1 进入.ssh目录# 切换目录,MAC中目录的第一个字符如果是 `.` 表示改文件夹是隐藏文件夹$ cd ~/.ssh#如果.ssh文件夹不存在,可以执行指令自行创建$ mkdir ~/.ssh# 查看当前目录文件$ ls1.2 生成 RSA 密钥对$ ssh-keygen -t rsa -C "你的邮箱@xxx.com"原创 2016-05-10 10:42:53 · 11488 阅读 · 1 评论 -
如何添加LaunchImage, 不使用Launch Screen做启动图
1. 删除LaunchScreen2. Target -> General -> App Icon and Launch Images 删除Launch Screen File3. Launch Image Source 点击 Use Asset Catalog, 选择Assets, 点击Migrate4. 选择 Assets.xcassets 删除里面的 Brand Assets原创 2016-05-10 11:37:25 · 4754 阅读 · 0 评论 -
Xcode出现error: Implicit declaration of function sysctl is invalid in C99
一般出现该问题是因为通过C调用了unix/linux 底层接口,所以需要调整c语言的编译选项,设置方法见下图:(根据实际情况选择相应的编译选项)解决办法:原创 2016-05-01 23:38:47 · 1025 阅读 · 0 评论 -
视频直播-ijkplayer 集成全解
ijkplayer - 集成方式: http://www.open-open.com/lib/view/open1463123602429.htmlijkplayer - 下载地址: https://github.com/Bilibili/ijkplayer原创 2016-07-14 19:08:00 · 763 阅读 · 0 评论 -
修改Xcode默认工程版本
第一步: 选择你需要修改的工程文件 xcodeproj 或者 xcworkspace(如果有用到工作空间, 改工作空间的文件)2. 按照下图的方式, 修改到你默认使用的版本即可3. 点击全部更改后, 点击 continue 即可, 直接双击工程文件, 进入你选择的Xcode版本原创 2016-08-26 21:39:56 · 3465 阅读 · 0 评论 -
CALayer的隐式动画实例 - 钟表
表盘的设置ClockPan.h#import <UIKit/UIKit.h>@interface ClockPan : UIView@property (nonatomic, strong) UIImage *image;- (instancetype)initWithImage:(UIImage *)image; //表盘的背景贴纸, 可以让设计师给你一个精美的表盘样式@endClockPan.原创 2016-04-07 16:51:49 · 370 阅读 · 0 评论 -
iOS - QRCode(二维码)的生成和识别
I. 二维码的生成模块#import "CreatQRViewController.h"//必须调用#import <CoreImage/CoreImage.h> @interface CreatQRViewController ()@property (weak, nonatomic) IBOutlet UIImageView *QRCodeImgV; //生成二维码的UIImageView原创 2016-04-07 15:28:12 · 3824 阅读 · 0 评论 -
UILabel高度的自适应以及UITableViewCell的高度自适应
*1. UILabelView高度的自适应+ (CGFloat)heightWithString:(NSString *)string{ CGRect rect = [string boundingRectWithSize:CGSizeMake(kScreenWidth - 2 * 40, MAXFLOAT) options:NSStringDrawingUsesLineFragmentO原创 2015-10-29 15:35:11 · 412 阅读 · 0 评论 -
iOS 如何设置启动引导图
QMPushGuideView.h#import <UIKit/UIKit.h>@interface QMPushGuideView : UIView//初始化引导图+ (instancetype)guideView;//展示引导图+ (void)show;@end原创 2016-04-05 11:38:03 · 1081 阅读 · 0 评论 -
使用XIB, 如何让文字随心所欲的换行
Tip: 双击UILable,在换行的位置按住Option + Enter原创 2016-04-05 11:48:39 · 4664 阅读 · 0 评论 -
App环境分离的实现:iOS篇
转载自Keegan小钢并标明原文链接:http://keeganlee.me/post/architecture/20160404说到App环境分离在iOS的实现,我曾在iOS技术群里问过:如何实现在同一台手机能同时安装同个应用的测试和生产版本?应用名称要有区分,图标也要有所区别。不要手动修改Bundle id和应用名称,也不要手动替换图标,更不要维护两个项目。如何才能简单地实现?转载 2016-04-05 12:00:27 · 1415 阅读 · 0 评论 -
如何创建你自己的Framework
译文: 链接地址: http://www.cocoachina.com/ios/20150127/11022.html原文: 链接地址: https://www.raywenderlich.com/65964/create-a-framework-for-ios转载 2016-04-05 17:08:09 · 322 阅读 · 0 评论 -
RealReachability的使用心得
//关于reachability的优化版本一. 关于目前reachability的缺点1.现在很流行的公用wifi,需要网页鉴权,鉴权之前无法上网,但本地连接已经建立;2.存在了本地网络连接,但信号很差,实际无法连接到服务器;3.iOS连接的路由设备本身没有连接外网。原因: Reachability相关的框架在底层都是通过SCNetworkReachability来实现网络检测的,所以无法检测实际网原创 2016-04-06 14:39:23 · 4767 阅读 · 0 评论 -
UIApplication的用法
UIApplication的用法1.打开网页NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];[[UIApplication sharedApplication] openURL:url];2.隐藏状态栏// 获取UIApplicationUIApplication *app = [UIApplication sharedApp原创 2016-04-06 14:46:38 · 364 阅读 · 0 评论 -
关于使用刷新控件的思考
在使用刷新控件的时候, 我们经常会遇到一些比较棘手的问题. 比如, 在网络状况不佳的时候, 用户既下拉刷新, 又上拉加载, 会遇到异步加载数据,返回顺序的先后问题. 如果我们后台的接口只提供通过请求page参数来实现加载多页数据的情况下, 对页码的考虑, 就显得很重要了./**处理办法*///1.添加一个记录请求参数的属性, 用来保存上一次请求时的参数@interface QMWordTable原创 2016-04-07 10:41:23 · 499 阅读 · 0 评论 -
如何修改UITableViewCell的内边距
创建一个UITableViewCell的子类, 在里面重写其中的一个方法即可实现内边距的设置- (void)setFrame:(CGRect)frame{ //修改cell的左右边距为10; //修改cell的Y值下移10; //修改cell的高度减少10; static CGFloat margin = 10; frame.origin.x = margi原创 2016-04-07 10:54:14 · 10433 阅读 · 0 评论 -
如何快速创建一个通用的主流框架
很多时候, 我们会发现主流的App设置趋于同质化. 那么在繁杂的开发过程中, 如何来快速搭建一个主流的App框架, 可以大大节省开发的时间. 下面, 我就来帮助大家来快速做出一个App主流框架.I. AppDelegate#import "AppDelegate.h"#import "QMTabBarController.h"@interface AppDelegate ()@end@impl原创 2016-04-07 11:40:58 · 425 阅读 · 0 评论 -
如何自定义一个NavigationController
自定义一个NavigationController, 一般可以自定义的部分包括三大类:UI设置方面返回键按钮的相关设置#import "QMNavigationController.h"@implementation QMNavigationController//当第一次使用这个类的时候调用一次+ (void)initialize{ /**设置导航控制器背景图片的另一种方法原创 2016-04-07 12:06:20 · 514 阅读 · 0 评论 -
如何在TabBar上自定义添加个性按钮
如何在tabBar的中间添加一个发布按钮, 为此自定义了一个tabBar, 来修改器子控件的布局#import "QMTabBar.h"@interface QMTabBar ()@property (nonatomic, weak) UIButton *publishButton; //发布按钮@end@implementation QMTabBar- (instancetype)in原创 2016-04-07 13:18:11 · 1411 阅读 · 0 评论 -
iOS gitHub三方库大全
链接地址: http://github.ibireme.com/github/list/ios/#原创 2017-01-13 11:18:15 · 601 阅读 · 0 评论