iOS 5中UINavigationBar中的截断标题标签

max*_*aga 7 iphone objective-c uikit ios ios5

使用iOS 5 SDK我正在编写一个在其UINavigationBar实例中使用自定义脚本样式字体的应用程序.这种字体的问题在于,由于它是脚本样式,因此其字形超出了边界.你可以在这里看到问题:

设备上的示例图像

有关更清晰的示例,您可以在此处查看我的photoshop文档:

Photoshop的例子

知道如何解决这个问题吗?我的第一直觉是在UINavigationBar中设置UILabel的clipsToBounds属性,但显然没有苹果批准的方法直接访问该对象.当我在测试版中使用iOS 5时,这已经困扰了我一段时间,所以也许你现在可以帮助NDA解除了.

谢谢!

vic*_*nic 0

如果您使用导航控制器,您可以设置正在显示的某个 UIViewController 的 titleView。该标题视图可以是一个 UIImageView,其标题为 .png 资源。

例如:

在你的 UIViewController 里面

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
            self.navigationController.navigationItem.titleView = [[UIImageView alloc] initWithImage:@"yourheader.png"];
    }

    return self;
}
Run Code Online (Sandbox Code Playgroud)

您可以稍微调整图像的大小,使其合适。

希望这能有所帮助。

  • 我知道这一点,但在我的应用程序中,标题需要针对每个新视图控制器进行更改,包括根据用户输入动态更改,因此这样的静态解决方案不起作用。 (2认同)