Swift 4.0 Xib实现Button调整
1.Xib画的界面按钮,代码中进行调整按钮图片在上,文字在下:

代码中修改按钮的位置比较好:
payButton.titleEdgeInsets = UIEdgeInsetsMake((payButton.imageView?.height)! + , -(payButton.imageView?.width)!, , )
payButton.imageEdgeInsets = UIEdgeInsets(top: -, left: , bottom: , right: -(payButton.titleLabel?.bounds.width)!)
businessButton.titleEdgeInsets = UIEdgeInsetsMake((businessButton.imageView?.height)! + , -(businessButton.imageView?.width)!, , )
businessButton.imageEdgeInsets = UIEdgeInsets(top: -, left: , bottom: , right: -(businessButton.titleLabel?.bounds.width)!)
systemButton.titleEdgeInsets = UIEdgeInsetsMake((systemButton.imageView?.height)! + , -(systemButton.imageView?.width)!, , )
systemButton.imageEdgeInsets = UIEdgeInsets(top: -, left: , bottom: , right: -(systemButton.titleLabel?.bounds.width)!)
changeButton.titleEdgeInsets = UIEdgeInsetsMake((changeButton.imageView?.height)! + , -(changeButton.imageView?.width)!, , )
changeButton.imageEdgeInsets = UIEdgeInsets(top: -, left: , bottom: , right: -(changeButton.titleLabel?.bounds.width)!)
总结:
1.要熟练掌握StoryBoard和Xib的约束,如果项目最低适配9.0,Xib里可以使用UIStackView,设置约束和适配很是方便;
2.特殊的约束可以在代码里修改,方便和直观;
新公司项目使用的Swift + Ipad开发,最近都在忙着做国际化和适配问题,对于Swift并不特别熟练的我要学习的还有很多,后面会一一更新自己项目中的难点和值得学习的点,记得关注思思哟。
欢迎关注思思个人公众号“思思小窝”哟,了解思思动态,哈哈
Swift团队在博客中宣布Swift 3.0语言首个开发者预览版将于5月12日释出,正式版将在4-6周之后推出.开发者预览阶段并无确定的更新周期和计划,不过Swift团队称努力将其控 制在4-6周内. ... // // ViewController.swift // Swift-UIButton // // Created by luorende on 16/9/9. // Copyright © ... 猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/51657154 ... 概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ... 一.编译器和语法变化 函数或方法参数 调用函数或方法时从第一个参数开始就必须指定参数名 在Swift的历史版本中出现过在调用函数时不需要指定任何函数参数(或者从第二个参数开始指定参数名),在调用方法时 ... Swift 3.0 相对于 2.x 有很大变化.特别是因为命名习惯的改变,导致许多 Api 都发生了变化.总的趋势是让表示更简洁. 对旧的代码升级,大部分可以根据提示来进行更正.但也有的需要手动修改. ... 转自:http://www.jianshu.com/p/96a7db3fde00 WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法.这篇文章会主 ... 无论你是移动开发者,还是桌面端开发者,或者正在IoT领域探索的技术人员,那么应该更加关注 iDev 全平台开发者大会,也许是后半年 iOS 开发者最盛大的技术盛宴.既有知名公司带来专业视野,又有从 S ... 由于Swift 3.0 出了太多令人兴奋的新特性,人们很容易忽略 Objective-C中的小改动.或许你会觉得苹果提及Objective-C 很可能是为了提高和Swift互操作性(译者注:互操作性主 ... 当在使用greenplum过程中有不当的操作时,可能会出现segment节点宕掉的情况(比如在greenplum运行的过程中停掉其中几台segment节点的服务器),通过下面的方法可以恢复segmen ... P1162 填涂颜色 题目描述 由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向.现要求把闭合圈内的所有空间都填写成2.例如:6X6的方阵(n=6),涂色前和 ... 定时器时间函数 struct itimerval: struct itimerval *new_value,其定义如下: struct itimerval { struct timeval it_in ... 目录 标记(Marks) pytest.mark.filterwarnings pytest.mark.parametrize pytest.mark.skip pytest.mark.skipif ... 永远以最新的IE版本模式来显示网页 <meta http-equiv="X-UA-Compatible" content="IE=7">#以上代码告 ... 模板题 传送门 #include<bits/stdc++.h> #define ll long long #define max(a,b) ((a)>(b)?(a):(b)) #de ... 一.Flink概念 lambda架构 将离线计算和实时计算结合在一起,发挥离线计算准确率高.实时计算响应速度快的优势.缺点是,同一套逻辑要分别在两个模式下实现,存在代码冗余的问题. Flink特点 ( ... @Component public class UserUtil{ private static Config config; @Autowired public void setConfig(Con ... 一.Apache虚拟主机的建立 虚拟web主机 在同一台服务器上建立多个web站点,每个站点不独占用一台真正的服务器 1.建立dns解析 两个域名同一个ip ... 目录 AOP AOP简介 开发存在 的问题 JDK动态代理 cglib动态代理 Spring的AOP简介 AOP相关术语 Joinpoint:连接点 Pointcut:切入点 Advice:通知 In ...Swift 4.0 Xib实现Button调整的更多相关文章
随机推荐