Ios Swift:如何更改导航控制器';s高度,而不添加工具栏
如何在不添加工具栏的情况下更改导航控制器的高度? 下面是我想要构建的苹果iBooks应用程序的一个例子。 我有一个解决方案,但并不完美(在导航控制器下面添加一个工具栏,但它非常难看)Ios Swift:如何更改导航控制器';s高度,而不添加工具栏,ios,swift,uinavigationcontroller,uisegmentedcontrol,uinavigationitem,Ios,Swift,Uinavigationcontroller,Uisegmentedcontrol,Uinavigationitem,如何在不添加工具栏的情况下更改导航控制器的高度? 下面是我想要构建的苹果iBooks应用程序的一个例子。 我有一个解决方案,但并不完美(在导航控制器下面添加一个工具栏,但它非常难看) 我想这就是你想要的, 截图 您不能更改导航栏高度,但可以在其下放置视图,并使用自动布局和阴影使其看起来像导航栏的一部分。将其设置为您创建的类 编写一个视图作为扩展数据库 class ExtendNavView:UIView{ override func willMoveToWindow(newWind
我想这就是你想要的, 截图 您不能更改导航栏高度,但可以在其下放置视图,并使用自动布局和阴影使其看起来像导航栏的一部分。将其设置为您创建的类
class ExtendNavView:UIView{
override func willMoveToWindow(newWindow: UIWindow?) {
let scale = UIScreen.mainScreen().scale
self.layer.shadowOffset = CGSizeMake(0, 1.0/scale)
self.layer.shadowRadius = 0;
self.layer.shadowColor = UIColor.blackColor().CGColor
self.layer.shadowOpacity = 0.25
}
}
class ViewController: UIViewController {
override func viewDidLoad() {
self.navigationController?.navigationBar.translucent = false
self.navigationController?.navigationBar.shadowImage = UIImage(named: "TransparentPixel")
self.navigationController?.navigationBar.setBackgroundImage(UIImage(named:"Pixel"), forBarMetrics:UIBarMetrics.Default)
}
}
你可以创建子类
UIView
来创建它如果你能在swift/storyboard中提供答案,我会很感激的。我发布的内容是使用autolayout,你需要使用autolayout在ExtendView下创建视图,因为它不能容纳两行意思是bar项到导航标题良好解决方案的级别,但它不能使导航栏半透明,即使在苹果的示例项目中也是如此。如果你想使用这个解决方案,你将没有半透明的导航栏。