之前我们已经讲过UIPageViewController,那篇文章演示了如何使用Interface Builder创建UIPageViewController.为了适配iOS7和Xcode5,我们重新写了这篇新教程——使用Storyboard创建UIPageViewController. 你第一次打开一个app的时候,一定会发现一系列的引导页(或者是操作指南)来给你介绍一些这个app的特性,这是给用户介绍app功能的通常做法.这篇文章中,我们就来看看如何用UIPageViewController…
iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期 一.基本过程 新建一个项目,系统默认的主控制器继承自UIViewController,把主控制器两个文件删掉. 在storyboard中,默认的控制器是View Controller,而我们需要的是导航控制器,那么就把系统的给删掉,拖一个导航控制器进来,导航控制器中默认的第一个子控制器是一个tableview controller,这里不需要,把它删掉,重新拖三个View Controller到界面上进行连线,简单的设…
Storyboard创建APP 的国际化操作 最近在看<X-code江湖录>这本书,看到了APP 国际化这点,刚刚也简单的实践了一下.现在和大家分享分享! 写的这个简单的Demo全都是用 Storyboard 写的,用 Storyboard 做项目孩纸们也知道我们这个最重要的就是 mian.Storyboard 这个文件了.UI创建也全是在这个文件里面,那这个文件国际化了,你创建的导航,标签等等也就上面的文字也就相应的国际化了.首先给你的项目添加 你需要的语言,我这里添加的是日语,当然不是我喜…
项目创建完毕后,默认是使用ViewController作为主界面视图.下面通过样例演示,如何使用TableViewController作为主界面视图,同时演示如何在storyboard中设置表格及内部单元格样式. 功能如下: 1,程序运行后即为表格页面 2,表格内容为“行号:内容” 3,点击单元格可以切换勾选与取消勾选状态 效果图如下: 详细步骤: 1,删掉storyboard现有的视图界面.然后从对象库中拖入一个TableViewController到场景中.同时将其Attributes面板中…
前面的两篇博客都是学习有关屏幕适配也就是相对布局的东西,这篇博客中将会学习视图间的切换.视图间的切换我们可以用代码完成或者用storyboard来建立各个视图控制器间的关系.在需要用到代码进行切换时会用代码进行视图间的跳转.下面的东西我们会主要介绍到NavigationController来进行视图间的切换.下面也是和之前一样把代码和storyboard结合起来学习. 下面介绍一下我们要实现的功能和效果: App打开的第一个界面是登陆页面,登陆页面由用户名和密码以及一个登陆按钮构成.当登陆成功时…
步骤1:正常创建1个新项目 步骤2:选中默认创建的viewcontroller 步骤3:选择最上面工具栏的editor->embedin->navigation controller. 同样的,想要创建一个带tabbar的页面也可以用这个套路,不同的是步骤3里面的最后一步,选择 tab bar controller…
今天打算用storyboard直接生成cell,但是总是提示数据源没设置,一直报错. 我就奇了怪了,明明标识符设置了,但是还是不行,仔细分析之后才发想,原来是因为标识符位置填错了.请看下面截图中正确的填写位置,希望能帮助有相同经历的人.…
xib 方式 .在Cell.h文件中加一个宏 #define cellIdentifier @"customCell" . ViewController中: - (void)viewDidLoad { [super viewDidLoad]; [_tableView registerNib:[UINib nibWithNibName:cellIdentifierbundle:nil] forCellReuseIdentifier:cellIdentifier]; } - (UITabl…
ImageView UIViewContentModeScaleAspectFill 超出边界的问题 代码如下 [_photoView setClipsToBounds:Yes];       storyboard / Xib: 选中imageView后, …
创建和注册UITableViewCell及Storyboard和Xib区别 // 界面创建完成被调用 - (void)viewDidLoad { [super viewDidLoad]; /** 如果采用如下3种方式,为tableView注册了原形Cell,系统会用注册的cell作为显示用的cell和可重用cell,一旦缓冲区中不存在可重用cell,系统会使用注册的原形Cell新实例化一个Cell供程序使用! 因此只要注册了原形Cell,创建cell时就不再需要cell == nil的判断了.…