UINavigationBar - 自动宽度

时间:2014-11-11 00:54:24

标签: uinavigationbar

自定义类的自动宽度有一些问题我正在调用。我有它适用于高度,但宽度不断截断为320px宽。我想我可以硬编码屏幕的每个值,但这是疯狂的。我将自定义类调用到全局导航视图控制器中。

@implementation MyCustomNav

- (CGSize)sizeThatFits:(CGSize)size {
    CGSize newSize = CGSizeMake(self.frame.size.width,100);
    return newSize;
}

@end

我也试过了;

CGSize newSize = CGSizeMake(self.bounds.size.width,100);

我得到的结果与每端的UINavigatorBar截断相同。屏幕截图下方。

Truncated UINavigationBar

现在我确实在某处读过这是一个iOS 8错误。但我还没有确认。

任何想法?

1 个答案:

答案 0 :(得分:0)

好的,我让它运转了。使用iOS8,我发现它需要一些不同的格式,但最终这个工作。关键是使用UIScreen mainScreen设置边界。也使用边界似乎更好。

    //Adjust the height of the NavigationBar
- (CGSize)sizeThatFits:(CGSize)size {
    CGSize newSize = CGSizeMake(self.frame.size.width,53);
    [self setFrame:CGRectMake(0,0,[[UIScreen mainScreen] bounds].size.width,60)];
    return newSize;
}

希望能有所帮助。