我正在开发ios 5的应用程序。 我需要删除UIImagePickerController上的取消按钮我在论坛上搜索了这个问题,但没有得到确切的答案有人可以帮我这个吗?
答案 0 :(得分:2)
那是因为无法删除该取消按钮。这是一个内置函数,你无法进行相同的更改。
答案 1 :(得分:1)
我会给出实现这个目标的最佳方法:
UINavigationBarDelegate
方法- (BOOL)navigationBar:(UINavigationBar *)navigationBar
shouldPushItem:(UINavigationItem *)item
你不需要做任何事情,比如设置委托或添加协议,只需覆盖自定义UIImagePcikerController中的方法。
NO
取消项目(这是第一个)答案 2 :(得分:0)
答案 3 :(得分:0)
无法仅删除取消按钮。 UIImagePickerController公开了一个名为showCameraControls的属性,该属性将使用取消按钮和相机按钮隐藏底栏,以及闪光灯,HDR和翻转相机的控件,为您提供相机预览。
如果您想在没有取消按钮的情况下提供体验,则必须创建所需内容的相机叠加视图。
假设您有调用UIImagePickerController的代码,您可以关闭这样的相机控件:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setShowsCameraControls:NO];
假设你在没有取消按钮的情况下用自己的视图覆盖它,你会添加它(假设你有一个名为cameraOverlay的UIView:
[imagePicker setCameraOverlayView:cameraOverlay];
答案 4 :(得分:0)
这会隐藏导航栏本身以及Cancel
和Title
let videoPicker = UIImagePickerController()
for view in videoPicker.view.subviews {
if let navBar = view as? UINavigationBar {
navBar.isHidden = true
}
}
如果您想单独删除取消按钮,请深入了解navBar
答案 5 :(得分:0)
快速版本,兼容4 +
要删除导航栏:
LOAD DATA INPATH '/your/hdfs/path' into table <table name>;
仅用于删除按钮:
imagePicker.view.subviews
.filter { $0.isKind(of: UINavigationBar) }
.map { $0.isHidden = true }
Voilà
答案 6 :(得分:-1)
当您呈现UIImagePickerView时,请尝试输入以下代码
for (UIView *subview in view.subviews) {
NSLog(@"subviews=%@",subview);
NSString *className = [NSString stringWithFormat:@"%@", [subview class]];
}
通过上面的代码,您可以获得用于显示取消按钮的导航控制器..一旦您获得navigationController将其左侧按钮设置为nil ..
我没有使用它,但希望它对你有所帮助