有很多关于使用自定义视图定制UIBarButtonItem
作为UIButton的讨论。很清楚。到目前为止我没有找到的,令我感到惊讶的是,没有提到处理界面旋转的自定义UIBarButtonItems - 它是旋转iPhone时常见的行为,条形按钮被垂直挤压。但是,如果您以普通方式自定义UIBarButtonItem(通过调用initWithCustomView:
方法),它将在旋转到横向方向后保持非压缩状态。那有什么变通方法吗?
答案 0 :(得分:1)
好吧,我发现在自定义UIApplicationDidChangeStatusBarOrientationNotification
课程中处理UIBarButtonItem
的解决方案相当不错。
答案 1 :(得分:0)
我认为您应该使用新的方向图像和文本重建UIBarButtonItem(您的自定义UIButton),或者重置自定义视图的框架。
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
UIButton *rightItemButton = (UIButton *)self.navigationItem.rightBarButtonItem.customView;
//resize the frame
if (isLandscape) {
} else if (isPortrait) {
....
}
}
答案 2 :(得分:0)
如果您可以从IB添加UIBarButtonItem(您不必以编程方式创建它),则可以设置弹簧和struts以获取默认行为。这个解决方案对我有用。