gpt4 book ai didi

ios - 从另一个 Controller 的 UIPickerView 更新 UIButton 的标题

转载 作者:行者123 更新时间:2023-11-29 02:51:15 24 4
gpt4 key购买 nike

我有一个名为 NotepadView.h/.mViewController 和一个标题为“User: (Select)”的 UIButton。一旦用户触摸按钮,UIPickerView 将显示为弹出窗口,它是从 UserPickerViewController.h/.m 初始化的。单击该按钮后,适当的行将出现在选择器中。但是在实现了 IBAction 之后(点击按钮,从选择器中选择正确的行,然后离开选择器),按钮标题只会在再次按下按钮后更新。

我知道这是因为我正在使用 touch up inside 操作,所以一旦触摸按钮,标题会立即更改为“User: (null)”,直到它被触摸一秒钟在选择器中选择正确的行后的时间。我如何实现一个操作,以便在选择选择器行时立即更改按钮标题,而不是用“User: (null)”填充它直到我再次触摸它?

此外,除了触摸选择器 View 之外,我将如何在选择行后退出 UserPickerViewController.m 并返回到 NotepadView.m

viewDidLoad下的

NotepadView.m:

[_userBTN setTitle: @"User: (Select)" forState: UIControlStateNormal];

IBAction 的 touch up 里面:

- (IBAction)refreshUsername:(id)sender {
[_userBTN setTitle: [NSString stringWithFormat:@"User: %@",gUserInfo.chosenUserName] forState: UIControlStateNormal];
}

UserPickerViewController.m 中:

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

NSArray *userArray = [gUserInfo availableUsers];
gUserInfo.chosenUserName = [userArray objectAtIndex:row];

}

最佳答案

按照@JasonMcDermott 的建议,我更改了我的UserPickerViewController.m 以包含一个名为“Save”的UIBarButton。按下按钮后,使用 unwindSegue,选择器行中的字符串将存储在名为 user 的变量中,然后将其传输到 NotepadView .m位于touchUpInside上。

关于ios - 从另一个 Controller 的 UIPickerView 更新 UIButton 的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24498882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com