Autolayout自iOS 6开始引入, 但是由于Xcode 4的不给力,当时并没有得到大规模推广。...在iOS 7(Xcode5)开始,Autolayout的开发效率得到很大的提升,苹果官方也推荐开发者尽量使用Autolayout来布局UI界面,减少纯代码的方式。...像label 默认是有宽度的 宽度就是字体自适应的。这样我们就可以不给UIlabel 高度 把Label的NumberOfline = 0就可以自适应高度了。 ?...下面是使用autoLayout的布局。 ? 接着我们在UITableView中来使用我们自定义的UITableViewCell C1。...例如:水平放置三个按钮,等宽,并且按钮间的间隙为10,如果自己实现会比较麻烦,而使用UIStackView则很容易实现。
详见随笔:用launchscreen.storyboard适配启动图方法(二) “使用 Xcode storyboard(故事板) 来提供 app 的启动屏幕”的要求已延期到2020.6.30....到2020年4月,上架APP的启动图必须使用launchscreen.storyboard,不能再使用assert方式了。但是session没有给出如何适配。网上也很难找到相关文章。...在launchscreen.storyboard的view里拖动一个UIImageView,并用autolayout设置上下左右间距为0 ? ? ?...多语言适配(下面为想当然的错误示范+正确操作链接) 通过面板勾选Localization ?...正确操作请参考IOS 实现启动图 多语言切换 即使按上面链接方法做了静态国际化,以下两种状况是不会切换的 系统切换语言的时 重启系统 这种情况跟苹果人机交互规范相关。
,在App Store中显示的版本号,推荐与manifest.json中version下的name值一致; Build为编译版本号,App Store判断升级使用,推荐与manifest.json中version...文件,比如添加key为CFBundleDisplayName,值为应用名字(HBuilder你好),InfoPlist.strings(English)为英文系统,Simplified为中文简体系统...如何配置3D Touch 配置3D Touch 如何配置IDFA 首先要知道:打开IDFA不影响AppStore审核 如何知道项目中是否使用广告标示符,其实就是查看framework中是否有个叫AdSupport.framework...(注意别少了点); 如何配置启动时是否注册Push 1、如果希望在应用启动时不弹出”发送通知”系统授权框,可以不向系统注册要使用消息推送功能,配置方法如下: 找到工程里的info.plist文件,然后配置...control.xml文件里的appid的值和apps目录下的第一个文件夹的名称一致 6、确保HBuilderX里要调试的代码的appid和control.xml的appid值一致 7、使用Xcode的
Consolas Consolas 是一套等宽字体的字型,属无衬线字体,由 Lucas de Groot 设计,这套字型使用了微软的 ClearType 字型平滑技术,非常好看。 ?...Menlo Menlo 也是一个无衬线等宽字体,由 Jim Lyles 设计,首次出现于 2009 年 8 月上市的 Mac OS X Snow Leopard 系统内建字体之一。...Menlo 之前是 Xcode 中的默认字体,是 DejaVu Sans Mono 的衍生品。 ?...它非常适合用于阅读代码,支持 Linux、Mac OS X 和 Windows 等操作系统,而且无论商业或个人都可以免费使用。 ?...同时字体样式中规中矩,对各类字符有着较高的辨识度,同时对中文字体也有很强的兼容性,适合用来进行编程使用。 ?
Consolas Consolas 是一套等宽字体的字型,属无衬线字体,由 Lucas de Groot 设计,这套字型使用了微软的 ClearType 字型平滑技术,非常好看。 ?...---- Menlo Menlo 也是一个无衬线等宽字体,由 Jim Lyles 设计,首次出现于 2009 年 8 月上市的 Mac OS X Snow Leopard 系统内建字体之一。...Menlo 之前是 Xcode 中的默认字体,是 DejaVu Sans Mono 的衍生品。 ?...它非常适合用于阅读代码,支持 Linux、Mac OS X 和 Windows 等操作系统,而且无论商业或个人都可以免费使用。 ?...同时字体样式中规中矩,对各类字符有着较高的辨识度,同时对中文字体也有很强的兼容性,适合用来进行编程使用。 ?
上篇文章介绍了Objective-C的基本概念,本文就来接着看如何创建我们的第一个简单iOS应用, 本着简单可复现的方式,我们会以尽可能小的成本来构建并在真机运行iOS应用。...什么是ipa iOS应用与Android应用类似的一点是,最后安装到系统中的都是一个zip压缩包,对于Android而言后缀是apk, 而对于iOS而言则是ipa(iPhone Application...ipa打包 对于有源码的应用,我们可以使用Xcode进行打包,打包流程可以参考stackoverflow中的一个回答。 不过这需要有开发者账号。由于我们是自己使用,因此要找一种无需开发者账号的方法。...ipa安装 无需AppStore的ipa的安装方法有下面几种(欢迎补充): 使用Apple Configurator 2 工具(只支持MacOS) 使用Xcode安装 使用OTA部署方式安装 其他 使用...这里注意不论是ota.plist还是app.ipa的地址都是强制要求为HTTPS的, 因此若想以这种形式安装,还必须要去注册一个合法的SSL证书,也可以用免费的。
今天就统一回复下,我用的字体是 monaco 一款好的编程字体通常要满足以下几个条件: 1. 首先要是等宽字体,也就是不同字母所占的屏幕宽度是一样的。...它是苹果出的一款开源字体,所以在Mac系统上表现更好,曾是Mac终端和Xcode的默认字体。 当然它不是唯一的选择。比如Mac上另一款字体menlo,也曾是Xcode的默认字体。...最后,再推荐一个我在SublimeText中使用的字体:Sarasa-Gothic,更纱黑体 它是由一位国人大佬 Belleve 制作的开源字体。...作者的另一款字体 Iosevka 也是经常被人推荐的编程字体。 而Sarasa是在Iosevka的基础上,增加了中文的思源黑体,做到了中英文2:1等宽,即1个中文字符的宽度严格等于2个英文字符。...这样在中英文混合的制表输出时就会让人极度舒适。 以上就是我在用的一些编程字体。你还有什么推荐,欢迎在评论区中留言。 作者:Crossin的编程教室
在iOS9系统中,定位服务的做法基本没有改变,对于前台的定位没有影响,但app中如果需要后台定位,那么还需要多做一些操作,例如: manager = [[CLLocationManager alloc...在安装这些应用时,iOS9系统不再向以前那样,再安装时提示一个信任的按钮,而是做如下的提示: ? 在设置中,选择描述文件: ? 之后选择开发者对应的appleId,选择信任即可: ? ?...在Xocde7中,新建的项目是默认开启BitCode的,如果我们用Xcode7编译提交应用,这里有需要注意适配的地方。 ...五、label默认字体不同产生的BUG iOS9的另一变化是label的默认字体产生了变化,我们打印iOS9中label的字体如下: ? iOS8中的label默认字体如下: ?...这两种字体的最大差异是字间距不同,例如如下一段代码: UILabel * label = [[UILabel alloc]init]; label.frame=CGRectMake(100
导航面板中的目录 文件 与 真实文件系统中的目录文件不是对应的; -- 逻辑分组 : Xcode 将 真实文件进行了逻辑分组, 并不是真实的文件结构; -- 自定义分组 : 开发者还可以创建自定义的分组...属性 : -- 作用 : 控制文本 字体 文字大小 风格等属性; -- System : 系统默认字体, 不能修改 Family Style Size 属性; -- System Bold :...Size : 设置最小的字号大小, 设置的值是字体大小; -- Tighten Letter Spacing : 勾选该复选框 会自动压缩字符串中的空白, 保证 UILabel 能容纳这些文本中的内容...; (9) Highlighted 属性 Highlighted 属性 : -- 作用 : 为 UILabel 中的文本设置高亮显示, 前提 Behavior 属性的 Highlighted 属性勾选...使用 @synthesize 设置 setter getter 方法; -- 查看连接关系 : 使用 Xcode 的连接检查器面板查看 IBOutlet 属性 与 UI控件 间关联, 使用 control
地球上最流行的移动操作系统,非苹果公司的 iOS 与谷歌公司的 Android 系统莫属了,那如何写出自己的第一个 App,并且能够跑在 iOS 与 Android 系统上呢?...new Xcode project 第一行,不要点错了 第二步,依次选择界面中的 iOS - App - Next 其实 Xcode 提供了非常多的应用,比如游戏,虚拟现实,iMessage 应用等等...0X02 认识 Xcode 这就是 Xcode 的开发界面 Xcode 开发环境的默认基本框架如上图: 左侧是项目的文件列表,或者叫项目导航(Project Navigator)(左侧实际包含更多的内容...//这一句创建了一个静态文本控件,未指定内容、大小和位置 UILabel *label = [[UILabel alloc]init]; //设置静态文本显示文字"Hello World" //"@...0X04 运行程序 第一步,回到 Xcode 界面中,选中苹果机型模拟器,点击左侧的播放按钮 我们在图中选择的是 iPhone 13 机型 第二步,你就会看到一个写着“hello world” 的应用跑起来了
使用启动页进行加载或品牌化可能会减慢首次使用的时间,并使用户感觉应用程序运行缓慢。 当你新建 iOS 项目时,Xcode 会创建一个空白的 LaunchScreen.storyboard 供你使用。...译者注:文段中没有 Xcode,下文中提及为 Xcode 新建项目 为了让你的应用感觉更快,你可以将启动页设计为与将向用户显示的第一个页面(视图控制器)类似。...这两种方法让我们指定需要保存或加载的数据以及如何对它们进行编码或解码。...在 storyboard 中将 UIView 设置为不透明(查看大图) 或者我们可以在代码中修改 UIView 的 isOpaque 属性: view.isOpaque = true 将视图设置为不透明将使绘图系统在渲染屏幕时优化一些绘图性能...红色表示视图不是不透明的,并且其显示的是在其后面混合的图层。绿色表示视图不透明且未进行混合。 ? 尽可能为 UILabel 指定非透明背景颜色以减少颜色混合图层。
Command + H 快捷键 , 返回到 模拟器 桌面; 2.退出调试状态 : 点击 Xcode 中的停止按钮; ---- 2. iOS 设计界面 storyboard ( 1 ) LaunchScreen.storyboard...手机界面是一样的, Xcode 6 及 以后的版本, 就只有一个设计界面, iPhone 的各个版本 与 iPad 的各个版本 都使用同一个设计界面 ; 3.选择 View Controller 进行设置...( ① 设置资源 | ② 按钮状态背景 | ③ tag 设置 | ④ 多按钮绑定同方法 ) tag 使用 : 1.放置资源 : 在 Assets.xcassets 中创建一个目录 , 专门用于存放指定用途的...]; 为高亮状态指定文字; ② 调用 setTitleColor:forState 为某种状态指定文字颜色, [button setTitleColor:[UIColor blackColor] forState...]; 为高亮状态指定文字颜色; 3.设置背景图片 : ① 获取图片对象 : 使用 [UIImage imageNamed:@"bg.png"]; 可以获取 UIImage 对象; ② 设置按钮的背景图片属性
一、iOS12(Xcode10) 1.1、升级Xcode10后项目报错 不允许多个info.plist Xcode10是默认选中的最新的New Build System(Default),在这个编译系统的环境下...方法一:通过LaunchScreen.storyboard方式启动 方法二:使用Assets中的LaunchImage 给Brand Assets添加一张1125*2436大小的图片 打开Assets.xcassets...插件取消 Xcode8取消了三方插件(很多优秀的插件,本来可以显著提高效率)的功能,使用Extension代替Xcode 8 Extension 推荐 3.2、证书问题 为了方便用户来管理,提供Automatically...使用prefs:root=bundleID ,bundleID是你第三方应用工程的唯一ID [x] iOS系统版本 >= iOS10,支持跳转到自己应用设置,不支持跳转到系统设置 3.5、字体变化 苹果的默认字体会随着...iOS系统版本的不同而不同,iOS10中字体变大了。
,要熟悉这个view匹配的UITableViewDataSource这个delegate的11个回调方法,和UITableViewDelegate的十几个回调方法;还有熟悉字体,颜色大小等各种布局的写法...,刚开始写还是有点吃力 上手过程中,很不习惯的还有IDE,要重新熟悉Xcode的快捷键,还有很多功能,其他IDE有提供,但是Xcode上没有,只能手动写 同样的数据跟UI绑定,ios上实现会比Android...手写UI布局,了解了字体字号,自适应的布局,常见的UI组件的使用,富文本,事件响应,布局层级,渐变这些场景 基于网络请求的复杂列表的布局动态实现,数据模型配置 熟悉页面跳转,传参,路由配置 项目的整体架构设计...,全局扩展方法配置 了解项目网络架构设计 数据存储,全局token,登入状态,userCode的动态监听,token失效如何触发所有页面的刷新机制 崩溃的定位(本地崩溃,线上崩溃) 断点调试(条件断点,...方法的调用,需要加中括号 [UILabel alloc] 上面的代码,代表执行UILabel类的alloc方法 对变量的声明,需要指定属性特性 @property(copy, nonatomic)
首先是正常的创建元素,为了熟悉实现的方式,我在学习过程中是完全放弃storyboard的。...(false) //设置在约束布局系统中是否把自动布局转换为约束布局 self.view.addSubview(v1) 然后添加约束 self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat...型,指定Contsraint的属性,是垂直方向的限定还是水平方向的限定,参数定义一般如下: H:Expression 表示水平或者垂直(V)方向上相对于SuperView的位置 options:字典类型的值...;这里的值一般在系统定义的一个enum里面选取 metrics:nil;一般为nil ,参数类型为NSDictionary,从外部传入 views:就是上面所加入到NSDictionary中的绑定的元素...设置为距离父视图左右都是10,那么表达式就是 "H:|-10-[v1]-10-|" 我们要让他高40,距离父视图顶部为10 "V:|-10-[v1(==40)]" 如果我们再创建V2,V3两个元素,让他们等宽排列在
以下基于UIImage的两类初始化API简介高倍图的适配: +imageNamed:该方法使用系统缓存,适合表视图重复加载图像的情形。...因此,使用该方法,无需特意指定高倍图后缀。...对象没有使用系统缓存,并且指定文件名必须包含明确的高倍图后缀。...(3)按字体适配 另外,iPhone的【设置】【通用】【辅助功能】中可以设置调节【更大字体】,APP也可以按字号适配: 例如适配表视图(UITableView:UIScrollView...一般 UILabel 的文本在给定字体下的纵向自然显示无约束,调用 sizeWithFont/boundingRectWithSize 可动态计算每行 label 的自然高度,title的上间距和source
突然编译不通过,报错不支持64位 此种场景出现在将project中32位第三方库替换成64位时,project中如何存在相同的第三方库,最好把原来32位相同的库删除,再添加。...//[btn setFont: [UIFont systemFontSize: 14.0]]; //这种可以用来设置字体的大小,但是可能会在将来的SDK版本中去除改方法 //应该使用 btn.titleLabel.font...range是要转换的范围,同时输出转换后改变的范围,如果为NULL,视为全部转换。transform可以指定要进行什么样的转换,这里可以指定多种语言的拼写转换。...原因:mac os是类unix操作系统,它有自己的文件系统,跟windows不一样。作为开发者只需要记住把该需要的资源文件都存放到resource文件夹里就好了。...2.另外一个获取Xcode中,项目里的resource文件夹下的资源文件的方法是: NSString* outputStr = [[NSBundlemainBundle] pathForResource
XCode5及其之后的版本,默认新建的项目就是使用AutoLayout 关于约束 约束概念 AutoLayout主要是通过控件参照与约束实现,比如控件A相对控件B来说,控件A在控件B的正下方,间距为20px...如果我们通过约束给定了UILabel的width = 100,但是内容仍然少的可怜,不能包裹,可以把宽度设置为的宽高都能包裹住内容。高度的设置同理可证。...当然,我们也可以只给UILabel设置x、y。但必须要保证UILabel的text属性有内容,否则UILabel显示不出来(这是初学者经常犯的错误)。...Safe Area : iOS11中增加的,safe area 可以看作是系统在所有的 view 上加了一个虚拟的 view, 这个虚拟的 view 的大小等都是跟 view 的位置等有关的(当然是在...,在iPhone横屏上字体比较大,这时候使用Vary for Traits就没有效果了,我们只需要为控件属性增加布局,如果不需要点叉删除 控件属性增加布局 如果想指定尺寸选择一个新控件,可以在控件属性最下端
获取指定 Tag 的控件 UILabel * label1 = [self.Container viewWithTag:1]; UILabel * label2 = [self.Container...设置按钮 禁用 启用 , index 为 1 和 5 时 分别启用 和 禁用 指定的按钮 , 其它情况下可以使用两个按钮 if(self.index == 1){ self.lastButton.enabled...设置按钮 禁用 启用 , index 为 1 和 5 时 分别启用 和 禁用 指定的按钮 , 其它情况下可以使用两个按钮 if(self.index == 1){ self.lastButton.enabled..., 点击 Create 进行下一步 ; 4.Xcode 设置 : 其 文件 创建在了 代码目录下 , Xcode 中的引用 放在了根目录 , 此时 将其拖动到 代码路径中即可 ; 设置完毕后的情况...文件 , 及 Xcode 中的索引 , 该文件直接删除到 Trash 废纸篓 中 ; 2.Remove Reference : 删除 Xcode 中的 引用 , 但是 文件 还是 在 该项目 下 ,
从iOS官方的实现中可以看出文本算高会考虑简单文本字符串、属性字符串、字体大小、最大显示行数numberOfLines、段落信息、 段落的对齐方式、断字方式、段落的首行缩进、阴影偏移等等因素。...中的sizeThatFits中的参数的意义。.../// @param text 要计算的简单文本NSString或者属性字符串NSAttributedString对象 /// @param numberOfLines 指定最大显示的行数,如果为0则表示不限制最大行数.../// @param font 指定计算时文本的字体,可以为nil表示使用UILabel控件的默认17号字体 /// @param textAlignment 指定文本对齐方式默认是NSTextAlignmentNatural...这个参数用于那些定宽时可以自动缩小文字字体来自适应显示的场景。 /// @param shadowOffset 指定阴影的偏移位置,需要注意的是这个偏移位置是同时指定了阴影颜色和偏移位置才有效。
领取专属 10元无门槛券
手把手带您无忧上云