相关疑难解决方法(0)

iOS 10自定义导航栏高度

我实现了自定义导航栏高度,通过以下代码继承它

class TMNavigationBar: UINavigationBar {

    ///The height you want your navigation bar to be of
    static let navigationBarHeight: CGFloat = 44.0

    ///The difference between new height and default height
    static let heightIncrease:CGFloat = navigationBarHeight - 44

    override init(frame: CGRect) {
        super.init(frame: frame)
        initialize()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        initialize()
    }

    private func initialize() {
        let shift = TMNavigationBar.heightIncrease/2

        ///Transform all view to shift upward for [shift] point
        self.transform =
            CGAffineTransformMakeTranslation(0, -shift)
    }

    override func layoutSubviews() {
        super.layoutSubviews() …
Run Code Online (Sandbox Code Playgroud)

uinavigationbar storyboard ios swift ios10

8
推荐指数
2
解决办法
8129
查看次数

以编程方式将自动布局约束添加到导航控制器

我正在尝试为我在导航栏上添加的UI标签添加约束.UI标签显示正在运行的计时器

这是我的代码,

self.label = [[UILabel alloc] initWithFrame:CGRectMake(550, 15, 150, 14)];
self.label.text = @"Label";
[self.label setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.navigationController.navigationBar addSubview:self.label];

[self.navigationController.navigationBar addConstraint:[NSLayoutConstraint constraintWithItem:self.label
                                                       attribute:NSLayoutAttributeTrailing
                                                       relatedBy:NSLayoutRelationEqual
                                                          toItem:self.navigationController.navigationBar
                                                       attribute:NSLayoutAttributeTrailing
                                                      multiplier:1.0f
                                                        constant:-20.0f]];
Run Code Online (Sandbox Code Playgroud)

但是当我运行应用程序时,我收到错误"无法修改由控制器管理的UINavigationBar的约束".

如何添加此约束?

ios autolayout ios-autolayout

4
推荐指数
1
解决办法
9783
查看次数