在 UIToolbar 中移动 UILabel 的文本

Posted

技术标签:

【中文标题】在 UIToolbar 中移动 UILabel 的文本【英文标题】:Moving the text of a UILabel in a UIToolbar 【发布时间】:2013-12-25 05:15:52 【问题描述】:

如何将 UILabel 的文本从一侧移动到另一侧并重复。 UILabel 位于作为工具栏的“inputAccessoryView”的 UIToolbar 内。我还有一个问题是如何将多个项目作为某物的自我。查看我的代码,您会看到我将“cell1Field1Dismiss”作为输入 inputAccessoryView 的 self。

为了进一步澄清,我有一个带有大约 10 个 UITextFields 和另外 10 个 UITextFields 的 viewController 来让第一响应者辞职。

- (void)viewDidLoad

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 23)];
    label.backgroundColor = [UIColor clearColor];
    label.shadowOffset = CGSizeMake(0, 1);
    label.text = @"24 Hour time format only!";
    label.font = [UIFont systemFontOfSize:17.0];
    [label setTextColor:[UIColor whiteColor]];

    UIBarButtonItem *text2 = [[UIBarButtonItem alloc] initWithCustomView:label];

    //UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

    //UIBarButtonItem *flexibleSpace2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];

    UIToolbar* numberToolbar = [[UIToolbar alloc]init];
    numberToolbar.barStyle = UIBarStyleBlackOpaque;
    numberToolbar.items = [NSArray arrayWithObjects:text2, nil];
    [numberToolbar sizeToFit];
    self.cell1Field1Dismiss.inputAccessoryView = numberToolbar;

第一响应者辞职的IBAction是:

- (IBAction)hideKeyboard:(id)Sender

    [cell1Field1Dismiss resignFirstResponder];
    [cell1Field1 resignFirstResponder];

    [cell1Field2Dismiss resignFirstResponder];
    [cell1Field2 resignFirstResponder];

    [cell2Field1Dismiss resignFirstResponder];
    [cell2Field1 resignFirstResponder];

    [cell2Field2Dismiss resignFirstResponder];
    [cell2Field2 resignFirstResponder];

    [cell3Field1Dismiss resignFirstResponder];
    [cell3Field1 resignFirstResponder];

    [cell3Field2Dismiss resignFirstResponder];
    [cell3Field2 resignFirstResponder];

    [cell4Field1Dismiss resignFirstResponder];
    [cell4Field1 resignFirstResponder];

    [cell4Field2Dismiss resignFirstResponder];
    [cell4Field2 resignFirstResponder];

    [cell5Field1Dismiss resignFirstResponder];
    [cell5Field1 resignFirstResponder];

    [cell5Field2Dismiss resignFirstResponder];
    [cell5Field2 resignFirstResponder];

转到此图像以查看提到的视图控制器。 http://i.stack.imgur.com/UVVpi.png

【问题讨论】:

【参考方案1】:

要退出键盘,您可以使用

[self.view endEditing:YES]  remove all the resignFirstResponders.

找到字幕标签here的解决方案

【讨论】:

对于我的项目,我没有使用 ARC,我读到您的 Marquee Label 使用了。还能用吗? @user3121577 可以使用该文件的 -fno-objc-arc 编译器标志为特定文件禁用 ARC。 我该怎么做。很抱歉给大家带来了麻烦,但我是新手。 我可以只使用 Quartz Core 而不是使用和导入 Marquee Label 吗? 选取框标签在 inputAccessoryView 中不起作用。

以上是关于在 UIToolbar 中移动 UILabel 的文本的主要内容,如果未能解决你的问题,请参考以下文章