相关疑难解决方法(0)

如何以编程方式为UINavigationController创建UINavigationBar的子类?

我正在使用自定义drawRect函数UINavigationBar在iOS4中跨我的应用程序进行绘制,它不使用图像,只使用CoreGraphics.

由于您无法UINavigationBar在iOS5中实现类别中的drawRect ,因此Apple建议使用子类UINavigationBar.

当属性是只读时,如何替换UINavigationBarmy子类UINavigationController(因此它将与iOS4和iOS5兼容)navigationBar

@property(nonatomic, readonly) UINavigationBar *navigationBar
Run Code Online (Sandbox Code Playgroud)

我根本不在我的应用程序中使用XIB,因此添加UINavigationBar到NIB并通过InterfaceBuilder更改类不是一种选择.

iphone cocoa-touch uinavigationbar uinavigationcontroller ios

23
推荐指数
3
解决办法
2万
查看次数

关于initWithNavigationBarClass的困惑 - 如何使用(new instanceType方法)

这非常有效:

UINavigationController *nc =
    [[UINavigationController alloc]
    initWithNavigationBarClass:[GTScrollNavigationBar class]
    toolbarClass:[UIToolbar class]];
nc.viewControllers = @[firstPage];
self.window.rootViewController = nc;
Run Code Online (Sandbox Code Playgroud)

但是这并不能正常工作:

UINavigationController *nc =
    [[UINavigationController alloc]
    initWithNavigationBarClass:[GTScrollNavigationBar class]
    toolbarClass:[UIToolbar class]];
self.window.rootViewController = nc;
self.window.rootViewController.viewControllers = @[firstPage]; // ERROR
Run Code Online (Sandbox Code Playgroud)

怎么会这样?谢谢

uinavigationcontroller ios instancetype

5
推荐指数
1
解决办法
1434
查看次数