- 博客(12)
- 收藏
- 关注
原创 UIPickerView的使用
简述:UIPickerView是一个选择器控件,它比UIDatePicker更加通用,它可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活。UIPickerView直接继承了UIView,没有继承UIControl,因此,它不能像UIControl那样绑定事件处理方法,UIPickerView的事件处理由其委托对象完成。使用UIPickerView的对
2017-03-31 12:12:56 498 1
原创 iOS 获取label或button的titlelabel文本的宽度
将以下方法添加到UIButton的类别中,获取到CGSize 获取到size之后,重新设置button或者label的frame即可。/* txt:label或button的title font:字体大小 size:允许最大size */ -(CGSize) boundingRectWithSize:(NSString*) txt Font:(UIFont*)
2017-03-30 16:03:45 3113
原创 一个app跳转到另一个app的指定界面
1.在项目的info.plist文件中添加URL Types,如下图所示: 其中idenifier是项目B的bundle id ,URL Schemes 中添加一个命令前缀,我这里使用“projectB”,这个名字可以自己取,运行一下项目B。2.在项目A中添加跳转代码//跳转到另一个app[[UIApplication sharedApplication] openURL:[NSURL URLW
2017-03-27 12:07:04 1908
原创 解决iOS打电话提示框反应慢
添加类方法,然后直接调用+ (void)callPhoneStr:(NSString*)phoneStr withVC:(UIViewController *)selfvc{if (phoneStr.length >= 10) {NSString *str2 = [[UIDevice currentDevice] systemVersion];if ([str2 compare:@"10.2"
2017-03-23 11:47:22 2215 2
原创 加速计和陀螺仪(CoreMotion框架)
一、CoreMotion框架介绍我们知道有一些iOS的应用,会有一些特殊的要求,比如: 1. 电子罗盘指南针之类的应用:让我们知道方向。 2. 运动类型软件:让我们知道我们跑步多少公里。 3. 社交软件中的摇一摇功能。 4. 游戏中扮演角色类中根据设备的晃动等进行操作。 其实,他们多半是使用了iOS中的一个核心运动框架CoreMotion.frameworkCoreMotion框架,主要是
2017-03-21 12:37:10 1265
原创 RunLoop的总结
一,概念解析OSX/iOS 系统中,提供了两个这样的对象:NSRunLoop 和 CFRunLoopRef。 《1》CFRunLoopRef 是在 CoreFoundation 框架内的,它提供了纯 C 函数的 API,所有这些 API 都是线程安全的。 《2》NSRunLoop 是基于 CFRunLoopRef 的封装,提供了面向对象的 API,但是这些 API 不是线程安全的。CFRunLo
2017-03-20 12:04:05 234
原创 UIAlertController的实现
弹出式的提示框:如图 UIAlertView,在XCode7和iOS9的时代,已经被弃用了。苹果自iOS8开始,废除了UIAlertView而改用UIAlertController来控制提示框。代码如下//创建提示框窗口UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"System
2017-03-13 18:12:03 630
原创 拨打电话系统弹窗的显示问题
拨打电话有三种实现方式一、拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示NSMutableString * str=[[NSMutableString alloc] initWithFormat:@"tel:%@",@"186xxxx6979"];[[UIApplication sharedApplication] openURL:[NSURL URLWi
2017-03-10 20:11:18 2421
原创 网络加载的实现+系统菊花的使用
网络缓慢时候,通常会有一个网络加载的界面,如图所示一、加载界面的封装//LoadingView.h@property (nonatomic,strong) UILabel *tipLab;@property (nonatomic,strong) UIActivityIndicatorView *activity;- (void)startAmazing;- (void)stopAmazing;
2017-03-09 17:42:33 2692
原创 UILable的lineBreakMode属性
//以字符为显示单位显示,后面部分省略不显示。label.lineBreakMode = NSLineBreakByCharWrapping;//剪切与文本宽度相同的内容长度,后半部分被删除。label.lineBreakMode = NSLineBreakByClipping;//前面部分文字以……方式省略,显示尾部文字内容。label.lineBreakMode = NSLineBreak
2017-03-08 12:26:30 1636
原创 OC中创建线程的方法是什么?如果在主线程中执行,方法是什么?如果想延时执行代码,方法是什么?
《1》线程创建有三种方法:使用NSThread创建、使用GCD的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue; 《2》在主线程执行代码,方法是performSelectorOnMainThread; 《3》如果想延时执行代码可以用performSelector:onThread:withObject:waitUntilDone:;
2017-03-07 16:46:40 1316
原创 原子(atomic)跟非原子(nonatomic)属性有什么区别
nonatomic:非原子属性,不会为setter方法加锁,线程不安全的,效率高 atomic:(默认属性)原子属性,为setter方法加锁,线程安全的,效率相对低。
2017-03-07 16:40:50 1573
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人