您的位置:首页 > 移动开发 > Swift

IOS,SWIFT开发细节杂烩

2016-08-11 09:22 225 查看
隐藏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
文件



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



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



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


这个问题是由于自动布局引起的,只要关闭相关VC自动布局里的一个属性就可以了,具体看图



这个属性会自动调整
滚动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
中设置
StatusBar
UIStatusBarStyle
呢。

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也不会渲染了,更不会响应触摸了。

原文连接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IOS SWIFT