【问题标题】:Customising UIBarButtonItem in navigation bar.在导航栏中自定义 UIBarButtonItem。
【发布时间】:2012-10-15 11:12:16
【问题描述】:

我有一个单独的自定义类来完成所有控件的自定义。 我也在自定义导航栏按钮。

现在在导航 VC 的 viewDidLoad 中,我将一个对 VC 的 leftBarButtonItem 的引用传递给自定义类,并且该引用的类型是 UIBarButtonItem。但是自定义类如何知道传递的对 UIBarButtonItem 的引用是左按钮? 我需要班级知道这一点,因为左按钮的自定义与右按钮不同。 如果可以使用内置框架功能来实现,我想避免为此创建自定义枚举。

你能帮忙吗?

【问题讨论】:

  • 一段代码会很有帮助。
  • 你可以使用标签.. 你可以让 leftBtn.tag = 0; &rightBtn.tag = 1;在定制类中,根据标签你可以来到它是哪个 barBtn ..
  • 不幸的是,我受法律约束不发布具体代码。但这是一个关于可可触摸框架功能和一些检测特征/属性的技术的问题。描述只是为其提供上下文。如果我没有足够清楚地描述问题,请询问具体情况。

标签: objective-c ios uinavigationcontroller customization


【解决方案1】:

不久前我做过类似的事情。你可能想让你的自定义方法有一个参数告诉它你传递的是什么类型的按钮

[CustomizationClass customizeButton:leftBarButton ofType:kLeftBarButton];

然后让 customizeButton 方法检查“ofType”并进行相应的自定义。

编辑:只需阅读您所说的自定义枚举。据我所知,没有办法检测到这一点。

【讨论】:

  • 我想出了一个主意。 UINavigationItem 的 leftBarButtonItem 属性始终指向 leftBarButtonItems 数组中的第一项。所以理论上我可以将 navigationItem 的引用与 left/rightButtonBarItem 一起传递给自定义类,并在自定义类检查中,它属于两个数组中的哪一个(左侧项的数组或右侧项的数组)。这样我就知道我在处理哪一方了。
猜你喜欢
  • 1970-01-01
  • 2013-12-07
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
  • 2012-03-12
  • 1970-01-01
相关资源
最近更新 更多