我有一个 UIBarButton,我想访问包含它的 UIToolbar。由于按钮不是 UIView 我不能简单地获得超级视图。有谁知道是否有办法做到这一点?
蒂姆
PS 如果你对我为什么需要这个感到好奇,我正在使用 Facebook SDK 中的 FBFriendPicker 类,它会在顶部显示带有 UIToolbar 的朋友列表。我需要更改工具栏的色调,但 SDK 只允许我访问按钮。我当然可以更改源,但我宁愿没有自己对 SDK 的更改的维护开销。
我有一个 UIBarButton,我想访问包含它的 UIToolbar。由于按钮不是 UIView 我不能简单地获得超级视图。有谁知道是否有办法做到这一点?
蒂姆
PS 如果你对我为什么需要这个感到好奇,我正在使用 Facebook SDK 中的 FBFriendPicker 类,它会在顶部显示带有 UIToolbar 的朋友列表。我需要更改工具栏的色调,但 SDK 只允许我访问按钮。我当然可以更改源,但我宁愿没有自己对 SDK 的更改的维护开销。
好吧,似乎不可能从 UIButtonItem 中找到 UIToolbar。
为了解决手头的问题,我从控制器中找到了它....
[self.friendPickerController presentModallyFromViewController:_controller
animated:YES
handler:nil];
// Find the UIToolbar so that we can change its colour
for (UIView *view in self.friendPickerController.view.subviews) {
if ([view isKindOfClass:[UIToolbar class]]) {
UIToolbar *toolbar = (UIToolbar *)view;
toolbar.tintColor = BRANDINGTEXTCOLOUR;
break;
}
}