更改 IOS 完成按钮文本

Posted

技术标签:

【中文标题】更改 IOS 完成按钮文本【英文标题】:Change IOS Done Button Text 【发布时间】:2017-08-13 16:40:17 【问题描述】:

如何更改此默认完成按钮文本?

dispatch_async(dispatch_get_main_queue(), ^
        QLPreviewController* cntr = [[QLPreviewController alloc] init];
        cntr.delegate = weakSelf;
        cntr.dataSource = weakSelf;

        if (callback) 
            callback(@[[NSNull null], array]);
        
        UIViewController* root = [[[UIApplication sharedApplication] keyWindow] rootViewController];
        [root presentViewController:cntr animated:YES completion:nil];
    );

【问题讨论】:

你的viewController是哪个类?你能提供一些细节吗? 嗨@ReinierMelian,我实际上创建了react-native方法并且没有太多关于xcode的信息。我认为这个 QLPreviewController 默认设置完成按钮但不知道如何更改它。 如果我的回答对您有帮助,请告诉我 @ReinierMelian,我正在编辑这个库github.com/philipphecht/react-native-doc-viewer/tree/master/ios,但还没有成功...我需要从 M 文件中的 openDoc 方法中删除完成按钮。 【参考方案1】:

我可以完成这项工作的唯一方法是使用self.navigationController.push 而不是self.present 来显示您还需要子类QLPreviewControllerQLPreviewController 并进行少量修改

#import "CustomPreviewViewController.h"

@implementation CustomPreviewViewController

-(void)viewDidLoad

    [super viewDidLoad];
    [self.navigationItem setHidesBackButton:YES];
    [self.navigationItem setLeftItemsSupplementBackButton:YES];
    [self.navigationItem setLeftBarButtonItem:[[UIBarButtonItem alloc]initWithTitle:@"none" style:UIBarButtonItemStyleDone target:nil action:nil]];


@end

希望对你有帮助

【讨论】:

以上是关于更改 IOS 完成按钮文本的主要内容,如果未能解决你的问题,请参考以下文章

更改 iOS 虚拟键盘“上一个”、“下一个”、“完成”按钮的语言

更改按钮文本不起作用 iOS

在 iOS 中使用按钮更改标签的文本

如何在iOS 7中更改文本UISearchBar的取消按钮颜色?

当按钮是iOS中自定义单元格的子视图时,如何动态更改按钮文本?

如何在 NativeScript 中为 iOS 更改突出显示状态的按钮文本颜色?