- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier;
我们知道,现在智能手机手机的功能已经越来越强大。小小的手机中集成了众多的传感器配件。通过这些传感器可以获取到手机甚至用户的状态信息。
ExternalAccessory框架用来对外设进行管理,iOS外设通常是通过MFI认证的外部设备,可以通过蓝牙进行连接,也可以使用lighting端口进行连接。
iOS系统自带的Calendar应用非常强大,用户可以在其中添加日程事件,并且其提供了接口供其他应用进行调用,可以向日历中进行事件的读取和写入。
HCStarRatingView是一款十分小巧的星级视图控件,其通过原生画图的方式来渲染星级视图页面,同时,其也支持开发者对星级图片的自定义操作。
与导航控制器相类似,标签控制器也是用于管理视图控制器的一个UI控件,在其内部封装了一个标签栏,与导航不同的是,导航的管理方式是纵向的,采用push与pop切换控制器,标签的管理是横向的,通过标签的切换来改变控制器,一般我们习惯将tabBar作为应用程序的根视图控制器,在其中添加导航,导航中在对ViewController进行管理。
UITextField是IOS开发中用户交互中重要的一个控件,常被用来做账号密码框,输入信息框等。
@property (nonatomic) UIDatePickerMode datePickerMode;
AddressbookUI是iOS开发框架中提供的一套通讯录界面组件。其中封装好了一套选择联系人,查看联系人的界面,在需要时开发者可以直接调用。当然对于联系人界面,开发者也可以进行完全的自定义,下面链接博客中介绍了如何使用AddressBook框架操作通讯录与联系人。
在IOS8之后,IOS的定位服务做了优化,若要使用定位服务,必须先获取用户的授权。
本文讲述如何使用 iRate 库去判断用户是否在 App Store 上对 App 进行过评分,并在新版本中根据评分提醒用户进行打分。iRate 库包括 iRateAppObserver, iRateGameObserver, iRateObserver 三个类,分别针对 App、游戏、系统进行评分的监听和通知。使用 iRate 需要进行配置,然后根据配置的 iRate 运行。可以通过 isRatePrompted 方法判断是否触发了评分提醒,通过 rateAppWithBundleID: 或 rateApp: 方法触发评分。iRate 支持本地化,可以根据语言获取对应的文案。
下面这两个放大与距离传感器应用相关,可参考:http://my.oschina.net/u/2340880/blog/544341.
@property(nonatomic)CGPoint contentOffset;
在iOS开发中,只要有网络模块,就需要数据模型的编写。在进行数据模型的解析和映射时,JSONModel是一个非常常用且优秀的第三方框架,之前有有过博客对其分析,地址如下:
最近在给以前的老项目维护,说起来工作很简单,一个字:改Bug。这看起来平淡无常的工作,实际上凶险无比,藏坑无数。时至今日,感觉整个人都得到了升华。在睡觉前抽空写篇博客,和各位分享一下踩坑经历,一起品味其中的种种酸苦辣 (没甜)。 为保证个码隐私,文中代码均为化名,还望谅解。如有雷同,纯属巧合 (可以通过 git blame 查看是谁写的)。 第一回:变量命名没点数,有时写着还手误 如果要折磨一个强迫症,最好的方法就是用各种恶心的变量名恶心死他。 什么?你说首字母要大写? @property (nonatom
好久没有写东西了,今天来分享一下最近在项目中对UITableView的一种优化写法。
概念 UINavigationController 继承于 UIViewController 包含:viewcontrollers、NavigationBar、Toolbar 导航控制器是一个堆栈结构,只是其中管理的对象是controller,通过push与pop进行controller的切换,UINavigationController是将这些控件(UINavigationBar,UINavigationItem和UIToolBar)和UIViewController紧密的结合了起来 总结: Naviga
我们要通过JS与webview内容交互,就需要到这个类了,它的所有属性及方法说明如下:
WKWebView主要涉及到以下类或协议,各部分可能互相依赖,文章按照apple文档的划分对每一个模块进行了详细的解释。
- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style;
做移动端开发,解析网络数据是必不可少的工作之一。iOS原生框架很早前就已经提供了将JSON数据直接映射成数组或者字典对象的方法,并且结合KVC,也可以将字典数据直接赋值给对象。但是这种方式十分不灵活,例如如果网络数据中的字段与我们数据模型中的字段不一致,某些网络数据的字段可能为nil等等都需要开发者单独的处理。使用JSOMModel可以十分方便的处理映射过程中的各种情况。
UIScrollView UIScrollView全部API学习。 //1.设定滚定条的样式 typedef NS_ENUM(NSInteger, UIScrollViewIndicatorStyle) { UIScrollViewIndicatorStyleDefault, // black with white border. good against any background 黑白边框 UIScrollViewIndicatorStyleBlack, // black only. small
iOS中的mapKit框架对国际化的支持非常出色。在前些篇博客中,对这个地图框架的基础用法和标注与覆盖物的添加进行了详细的介绍,这篇博客将介绍两个更加实用的功能的开发:线路导航与兴趣点搜索。前几篇博客的链接如下:
最近被公司超长的json【惊悚】给烦死了,趁着午休简易写了一个,还有很多改进之处,慢慢完善吧
UIButton的初始化一般使用其类方法,+ (id)buttonWithType:(UIButtonType)buttonType;
UIWebView继承与UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种:
UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
可以先看看这个Demo:https://github.com/ming1016/DecoupleDemo。从这个Demo里可以看到Controller和View还有Store的头文件里没有任何Delegate,Block回调,只有初始化和更新ViewModel的方法。所有这些控件,请求,ViewController和视图之间的联系都是通过ViewModel来进行的,而viewModel也不进行任何逻辑处理,只是简单的起到描述和默认值设置的作用。ViewController也被减轻的小得不能再小了,只需要初始化视图和Store即可。这也是我的一次尝试,看看如何利用KVO能够做到最大限度的解耦,和最大限度的减少代码和接口。
@property(nonatomic,assign) id<UITextViewDelegate> delegate;
在上一篇博客中http://my.oschina.net/u/2340880/blog/415360系统总结了iOS原生地图框架MapKit中主体地图的设置与应用。这篇是上一篇的一个后续,总结了系统的大头针视图以及自定义标注视图的方法。
通过加速度传感器,螺旋仪传感器和磁力传感,我们可以获取到手机在当前三维空间中的形态,加速度传感器也被称作重力感应。在一些赛车游戏中可以广泛得到应用。在iOS5之前,iPhone支持的传感器有限,关于加速度传感器的管理用UIAccelerometer这个类负责,iOS5之后,有关设备空间信息的管理交由了CoreMotion这个框架,CoreMotion将多种传感器统一进行管理计算。
MPMoviePlayerController是iOS中进行视频播放开发的一个控制类,里面涵盖了视频播放中大部分的需求功能,在使用这个框架时,需要导入头文件<MediaPlayer/MediaPlayer.h>。
UIslider滑块控件在IOS开发中会常用到,可用于调节音量,字体大小等UI方面的交互,用法总结如下:
概念介绍 UIDynamic从ios7才开始有的,其他2D仿真引擎: BOX2D:C语言框架,免费 Chipmunk:C语言框架免费,其他版本收费(C#、Objective-C、Java) 必须遵守了UIDynamicItem协议的控件才能应用这些行为,UIView遵守了,所以所有控件都可以使用 使用步骤:创建一个动画者对象UIDynamicAnimator并设置坐标系,再添加一个动画行为对象(并设置动画作用的控件) UIDynamic中的三个重要概念 UIDynamicAnimator:动画者,为动力
@property(nonatomic,getter=isContinuous) BOOL continuous;
AFNetWorking 在IOS开发中是一个经常会用的第三方开源库,其最好处是维护及时,源码开源。
在iOS开发框架中,AVKit是一个非常上层,偏应用的框架,它是基于AVFoundation的一层视图层封装。其中相关文件和类都十分简单,本篇博客主要整理和总结AVKit中相关类的使用方法。
在项目中遇到数据展示需求时,往往会通过,以列表的形式展示出数据或者以表格的形式展示。但是并不能直观的观察数据的变化,如果通过图表的形式来展示,就可以更快捷的获取到数据变化情况。
当我们在实际工作中,可能需要创建一个名为Student的新类,然后在Person的类中应该有一个Student的属性,一般做法是引入在Person.h文件中引入Student.h
最近两个项目都用到类似淘宝头条的功能,就是文字上下无限循环滚动,所以决定简单封装一下,以便以后使用。由于习惯用SDCycleScrollView来做广告图的无限循环滚动,所以这里文字无限滚动的核心是源于此。
初始化:UISearchBar继承于UIView,我们可以像创建View那样创建searchBar
UIPasteboard *pab = [UIPasteboard generalPasteboard]; NSString *string = @"测试"; pab.string = string; if (pab == nil) { [MBProgressHUD showError:@"复制失败"]; }else {
在前面的博客中,我么你介绍了UINavigationBar,UINavigationItem和UIToolBar,UINavigationController是将这些控件和UIViewController紧密的结合了起来,使用导航,我们的应用程序层次会更加分明,对controller的管理也更加方便。前几篇博客地址如下:
strong,weak, retain, assign的区别@property的参数 先说经验 使用场合 copy:NSString,block, weak:UI控件,代理 strong:一般对象、自定义对象 在OC中:默认对对象都是强引用;如果对象没有强引用会被立即释放 assign:基本数据类型,结构体,枚举,非OC对象类型 以下扯淡的比较多 strong与weak是由ARC新引入的对象变量属性 xcode 4.2(ios sdk4.3和以下版本)和之前的版本使用的是retain和assign,是不支
MJRefresh主要为UIScrollView,UITableView和UICollectionView添加头部和尾部刷新控件。其主要由3大块组成,类别工具,核心UIScrollView类别和头部尾部刷新组件。如下图:
表单视图是移动开发中十分常用的一种UI方式。在iOS开发中,系统的UITableView可以用来创建表单视图,其界面的渲染与逻辑的处理需要开发者实现许多代理方法。FXForms是一个第三方的表单创建工具,其通过配置的方式来进行表单界面的创建,并且其中为开发者封装好了各种常用类型的表单cell。
领取专属 10元无门槛券
手把手带您无忧上云