gpt4 book ai didi

ios UiPickerView 与 CountryPicker 类

转载 作者:行者123 更新时间:2023-11-29 03:10:53 26 4
gpt4 key购买 nike

我正在尝试从 https://github.com/nicklockwood/CountryPicker 添加 UiPickerView 类我想在我的 viewController 中使用 Storyboard ,但是尽管 pickerView 显示了国家/地区,但永远不会调用委托(delegate)方法。这是我所做的:我导入了 CountryPicker 文件夹和 Flags 文件夹,在 Storyboard Controller 中我添加了一个 UiPickerView 并将其分配给 CountryPicker 类。ViewController.h 和 .m 文件与示例完全相同。我找不到我缺少的东西。我还尝试初始化对象并从我的 ViewController.m 文件中调用 setSelectedCountry 方法,但它也没有做任何事情。 View Controller .h

#import <UIKit/UIKit.h>
#import "CountryPicker.h"

@interface ViewController : UIViewController <CountryPickerDelegate>

@end

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];
CountryPicker *picker = [[CountryPicker alloc] init];
[picker.delegate self];
[picker setSelectedCountryCode:@"US" animated:YES];
}

- (void)countryPicker:(__unused CountryPicker *)picker didSelectCountryWithName:(NSString *)name code:(NSString *)code
{
NSLog(@"country: %@",name);
}


@end

最佳答案

您需要从 Storyboard创建一个 IBOutlet 到您的代码 Apple Docs

删除您在 viewDidLoad 中创建新选择器的代码。

然后,对于您创建的新 IBOutlet,将 self 设置为委托(delegate),因此如果您的 socket 被称为 picker 您的 viewDidLoad应如下所示:

- (void)viewDidLoad
{
[super viewDidLoad];
self.picker.delegate = self;
[self.picker setSelectedCountryCode:@"US" animated:YES];
}

关于ios UiPickerView 与 CountryPicker 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22268187/

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