iOS开发
文章平均质量分 91
yinqinggong
Talk is cheap.Show me the code.
展开
-
macOS下编译opencv-4.5.2+opencv_contrib-framework
本博主前后编译了OpenCV的各种版本,感兴趣的可以浏览之前的博文。此篇为iOS编译opencv-framework,官网发布的opencv-4.x-ios-framework.zip不包括opencv_contrib模块,如果不需要里面的功能,则可以直接使用官方版。说明本文使用的系统和软件版本以及工作目录都是本博真实环境,仅供参考。...原创 2022-07-28 16:07:24 · 1844 阅读 · 1 评论 -
计算文字的尺寸
/** * 计算文字的尺寸 * @param text 需要计算尺寸的文字 * @param font 文字的字体 * @param maxSize 文字的最大尺寸 */- (CGSize)sizeWithText:(NSString *)text font:(UIFont *)font maxSize:(CGSize)maxSize{ NSDictionary *attrs原创 2015-08-05 17:21:29 · 391 阅读 · 0 评论 -
iOS开发学习之UIApplication
UIApplication对象是应用程序的象征,每个应用都有自己的UIApplication对象,而且是单例的,一个iOS程序启动后创建的第一个对象就是UIApplication对象,利用UIApplication对象能进行一些应用级别的操作。UIApplication *app = [UIApplication sharedApplication]; //通知 app.appli原创 2015-08-19 15:30:36 · 288 阅读 · 0 评论 -
iOS开发学习之iOS程序启动过程
1.执行main函数 2.UIApplicationMain 创建UIApplication对象 创建UIApplication的delegate对象 3.delegate对象开始处理(监听)系统事件(没有storyboard) 程序启动完毕的时候,就会调用代理的didFinishLaunchingWithOption:方法 在该方法中创建UIWindow原创 2015-08-19 15:44:49 · 316 阅读 · 0 评论 -
iOS开发学习之UIWindow
UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow,iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view就显示在屏幕上了;一个iOS程序之所以能显示到屏幕上,完全是因为它由UIWindow。 A UIScreen object that identifies a physical screen conn原创 2015-08-19 16:07:49 · 393 阅读 · 0 评论 -
iOS开发学习之动画实现
// 第一种方式[UIView beginAnimations:nil context:nil];[UIView setAnimationDuration:1]; /* 需要执行动画的代码 */[UIView commitAnimations];// 第二种方式 [UIView animateWithDuration:1.0 animations:^{ /* 需要执行动画原创 2015-07-15 09:44:44 · 329 阅读 · 0 评论 -
遍历subviews
NSString *xml = [self digView:self.view];[xml writeToFile:@"/Users/frankhou/Desktop/view.xml" atomically:YES encoding:NSUTF8StringEncoding error:nil];- (NSString *)digView:(UI转载 2015-08-20 17:14:08 · 426 阅读 · 0 评论 -
UITextField长度限制
[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];- (void)textFieldDidChange:(UITextField *)textField{ if (textField == self.titleField转载 2015-09-17 14:34:55 · 290 阅读 · 0 评论 -
去掉导航条线
- (UIImageView *)findHairlineImageViewUnder:(UIView *)view{ if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height <= 1.0) { return (UIImageView *)view; } for (U转载 2016-01-29 15:32:07 · 587 阅读 · 0 评论 -
导航栏透明渐变
1,导航栏透明[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; self.navigationController.navigationB转载 2016-06-12 11:40:38 · 478 阅读 · 0 评论 -
通过代码自定义TableViewCell(针对cell高度不一致)
步骤如下: 1,新建一个继承自UITableViewCell的类 2,重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame,子控件要添加要contentView中) 进行子控件一次性的属性设置(有些属性只需要设置一次,比如字体、固定图片等) 3,提供两个模型 数据模型:存放文字数据转载 2015-08-05 17:33:00 · 408 阅读 · 0 评论 -
iOS初学知识总结
/* 一、移动 缩放 旋转 */ UIButton *btn = [[UIButton alloc]init]; btn.transform = CGAffineTransformTranslate(btn.transform, 100, 100); btn.transform = CGAffineTransformScale(btn.transform, 100, 100)原创 2015-07-15 14:18:49 · 282 阅读 · 0 评论 -
iphone-only apps icon
app图标 app启动图片原创 2015-07-28 17:07:33 · 566 阅读 · 0 评论 -
UITableViewCell中的imageView固定大小
1,固定需要显示的图片大小 2,自定义静态TableViewCell 3,重载 layoutSubviews-(void)layoutSubviews{ //固定图片大小 UIImage *img = self.imageView.image; self.imageView.image = [UIImage imageNamed:@"PlaceHolder"];翻译 2015-07-16 13:30:57 · 525 阅读 · 0 评论 -
使用xib封装一个自定义view的步骤
1、新建一个继承UIView的自定义view,假设类名叫做MyAppView 2、新建一个MyAppView.xib文件来描述MyAppView内部的结构 3、修改UIView的类型为MyAppView真实类型 4、将内部的子控件跟MyAppView进行属性连线 5、MyAppView提供一个模型属性 6、重新模型属性的set方法,因为在set方法中可以拿到外界传递的模型数据 7、把模型翻译 2015-07-15 15:09:50 · 301 阅读 · 0 评论 -
iOS开发-键盘消失的几种方式
//第一种方式对所有UITextField逐个调用[self.myField resignFirstResponder];//第二种 [self.view endEditing:YES];//第三种 触摸背景关闭键盘/* 将控制器下的UIView类修改成UIControl,然后就可以对其添加Touch Down事件,然后处理这个事件关闭键盘*/原创 2015-07-15 10:05:15 · 894 阅读 · 0 评论 -
performSegue的执行过程
performSegueWithIdentifier: sender:的执行过程:根据identifier去storyboard中找到对应的线,新建UIStoryboardSegue对象 设置Segue对象的sourceViewController(来源控制器) 新建并且设置Segue对象的destinationViewController(目标控制器)调用sourceViewControl原创 2015-08-24 10:29:21 · 903 阅读 · 0 评论 -
TableViewCell的初始化
/** * 如果Cell是通过手写代码创建,会调用这个方法来初始化Cell */- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{ self = [super initWithStyle:style reuseIdentifier原创 2015-08-27 10:21:33 · 469 阅读 · 0 评论 -
iOS数据存储的常用方式
一、XML属性列表(plist)归档//1.获取沙盒根路径NSString *home = NSHomeDirectory();//2.document的路径NSString *docPath = [home stringByAppendingPathComponent:@"Documents"];//3.数据存放文件self.filePath = [docPath stringByAppen原创 2015-08-27 16:56:11 · 405 阅读 · 0 评论 -
Quartz2D绘制view
1.新建一个类,继承自UIView 2.实现- (void)drawRect:(CGRect)rect方法,在这个方法中 取得跟当前view相关联的图形上下文 绘制相应的图形内容 利用图形上下文将绘制的所有内容渲染显示到view上面 3.实现drawRect方法的原因是,在drawRect方法中才能取得跟view相关联的图形上下文 4.drawRect方法的调用时间原创 2015-08-28 14:33:00 · 270 阅读 · 0 评论 -
UITableViewCell 分割线左对齐
ios7中,UITableViewCell左侧会有默认15像素的空白。 设置setSeparatorInset:UIEdgeInsetsZero 能将空白去掉。 ios8中,setSeparatorInset:UIEdgeInsetsZero 的设置已经不起作用了。 下面是解决办法,首先在viewDidLoad方法加入以下代码:if ([self.tableView respondsToSel转载 2015-07-24 09:22:45 · 735 阅读 · 0 评论 -
UIImageView实现动画
NSMutableArray *images; UIImageView *imageView; imageView.animationImages = images; imageView.animationRepeatCount = 1; imageView.animationDuration = images.count * 0.05; [imageView原创 2015-07-28 11:37:19 · 403 阅读 · 0 评论