gpt4 book ai didi

ios - 一旦我将委托(delegate)和源连接到 viewContoller,UIPickerView 手势就会停止工作

转载 作者:行者123 更新时间:2023-11-28 19:02:31 25 4
gpt4 key购买 nike

我在这里尝试做的基本上是在点击 UIPickerView 时做一些事情。这就是我所做的。

我添加了一个 UIPickerView,添加了一个点击手势并通过在屏幕上记录一条消息来尝试它,一切都按预期工作我每次点击 pickerView 时都会收到消息(pickerView 是空的这点)。有趣的是,一旦我将项目添加到选择器,它就会停止工作,确切地说,当我在委托(delegate)/源和 ViewController 之间建立连接时,它实际上停止工作(选择选择器- 连接检查器 - 控制单击委托(delegate)和源旁边的圆圈并拖动到 viewController),我可以看到项目列表,但如果我点击 pickerView,我将不再看到日志消息。

这是我用来将内容加载到 pickerView 的代码,当然这段代码既没有显示手势,也没有显示 delegate/sourceViewController 之间的连接 因为这些是使用 XCode 的 界面生成器完成的。

//.h文件

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>

@end

//.m文件

#import "ViewController.h"

@interface ViewController ()
{

}
@property NSArray *myArray;

@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.myArray = @[@"Apple", @"Orange", @"Banana"];
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [self.myArray count];
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return self.myArray[row];
}

@end

知道为什么一旦我将委托(delegate)和源连接到 ViewContoller 手势就停止工作了吗?

非常感谢

最佳答案

它停止工作是因为调用了这个方法:

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

我认为你应该捕获这个方法并在这里做任何你想做的事情。

关于ios - 一旦我将委托(delegate)和源连接到 viewContoller,UIPickerView 手势就会停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23610518/

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