IOS,SWIFT开发细节杂烩

来源:互联网 发布:降低音量软件 编辑:程序博客网 时间:2024/05/22 03:10
  • 隐藏NavigationBar左侧返回按钮

想要隐藏导航栏的返回键,需要在页面还没显示之前进行设置,如果在页面的viewDidLoad()中调用setHidesBackButton 是没有用的.

fun showViewController() {//获取storyboard指定Identifier的ViewController   let viewController=self.storyboard?.instantiateViewControllerWithIdentifier("selectFloorViewController") as! SelectFloorViewController//隐藏将要显示的ViewController的导航栏返回键        viewController.navigationItem.setHidesBackButton(true, animated: false)//将将要显示的ViewController放入导航栈中        self.navigationController?.showViewController(viewController, sender: nil)}

  • APP图标设置

如图所示,工程->TARGETS->General->App Icons and launch Images->App Icons Source
选择AppIcon,此时程序会自动用Assests.xcassests里面的AppIcon图片作为图标
图标设置

接下来将想要作为图标的图片放进AppIcon里面
图标设置

注意,在我放图片的那一栏下面,人家已经清清楚楚的告诉你60pt了,也就是60Point( Point 是苹果的分辨率单位,有时候1Point=1Pixel,有时候1Point=2Pixel,这要看在什么设备上),再加上上面的2x/3x,就是说这里要放60*2=120Point或者60*3=180Point的图片作为图标,就不要尝试别的分辨率的图标的,不然肯定会报错的
报错

乖乖放一张120*120pixel的图片到2x上面,在运行程序,command+H切换到Home,就可以看见程序的图标了
图标


  • APP名称更改

用xcode新建一个APP工程,APP的默认名称就是工程名,比如我新建了一个工程叫test ,在模拟器里运行,切换到Home,那么我的APP名称就叫test
项目 项目

现在我想给这个APP起一个好听的名字,OK,我们打开Info.plist文件
plist

点击最上面Information Property List右边的小加号,新加一行配置,找一个叫Bundle display name的属性
bundle display name

看这个属性名字应该明白什么意思了吧,现在给这个属性改成自己喜欢的名字就好了!
icon


  • 嵌入NavigationController的页面加载后上面空出一个NavigateBar的高度

这个问题是由于自动布局引起的,只要关闭相关VC自动布局里的一个属性就可以了,具体看图
Adjust Scroll View Insets
这个属性会自动调整滚动View中插入物的位置,取消选中就OK


  • IOS/SWIFT如何改变状态栏(Status bar)状态

在UIViewController里继承以下方法:

override fun preferrsStatusBarHidden() -> Bool {  return true}

或者

 override func preferredStatusBarStyle() -> UIStatusBarStyle {        return UIStatusBarStyle.LightContent }

当然你也可以换成其他你想要的UIStatusBarStyle

如果以上方法无用,请往下看
UINavigationController不会在它的子VC(view controller)中调用preferredStatusBarStyle()函数,这意味着如果你的VC是包含在一个UINavigationController里的,那么在这个VC中实现preferredStatusBarStyle()是没用的,那么如何在UINavigationController中设置StatusBarUIStatusBarStyle呢。

UINavigationController中,UINavigationBar.barStyle的属性决定StatusBarStyle。默认的UIBarStyleDefault会导致一个暗色状态栏,UIBarStyleBlack属性会显示一个亮色的状态栏

如果你需要一个亮色的状态栏在UINavigationController中,使用下面的代码在viewdidload()

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

  • 关于UIView的透明(这一段转载自简书@秋刀生鱼片的文章)

这里请注意UIView的几个不同的属性。

backgroundColor 背景颜色,UIColor类alpha 颜色中的alpha通道值,这个值范围0-1,等于0时完全透明,等于1时,完全不透明hidden BOOL型,是否隐藏

这三个属性,都可以实现UIView隐身的效果。例如一个空的UIView,backgroundColor设为[UIColor clearColor]时,背景色是透明的;alpha设为0时,UIView也是透明的;hidden设为YES时,UIView同样不可见。

但他们的区别也很明显,backgroundColor属性的修改,不影响子View,所以子View不会因为父View的backgroundColor设为[UIColor clearColor]而隐藏,同时,父View同样响应触摸链。

而alpha值则不同,渲染时alpha值时一个叠加属性,例如父View透明度为0.5,子View透明度为0.5,这时渲染出来的真实效果,子View的透明的应该为0.5*0.5 = 0.25,所以当父View的alpha为0时,子View也是完全不可见的。另外,alpha为0的View,是不响应触摸链的。

最后这个hidden属性,直接从根源,决定要不要渲染这个View,不像alpha属性,是不需要渲染时计算最终的渲染效果的,因为这个属性为YES时,根本不进行渲染,所以渲染链都断了,子View也不会渲染了,更不会响应触摸了。

原文连接


0 0
原创粉丝点击