0

使用带有 UISwitch 和 UIActivityIndi​​cator 的原型单元和自定义 UITableViewCell。翻转开关会导致 NSURL Post 请求并禁用开关。这工作正常。

现在,我想连接活动指示器,让它在网络请求工作期间旋转。

在子类 UITableViewCell .h/.m 中添加了这个

@property (nonatomic, weak) IBOutlet UIActivityIndicatorView *activity;

@synthesize activity;

然后在 UITableViewController 中,接收开关更改:

- (IBAction)changeSwitch:(id)sender
{
     UISwitch *mySwitch = (UISwitch *)sender;
    [sender setEnabled:NO];
    // turn on activity indicator  (**Edited next 2 lines**)
    UIActivityIndicatorView *av = (UIActivityIndicatorView*) [[self view] viewWithTag:2101];
    [av setHidden:YES];
    // create a datamanager to send the request
    ...
}

我查看了标签、连接并考虑调用 TableViewCell 的方法来启动/停止指示器,但找不到答案。

开关的动作如何连接以启动活动指示器?

4

3 回答 3

1

解决了连接到这些原型单元对象的问题,首先在情节提要属性检查器中为它们提供一个标记号,用于活动指示器和开关,然后使用以下方法从 UITableViewController(子类)中访问它们的属性:

UIActivityIndicatorView *av = (UIActivityIndicatorView*) [[self view] viewWithTag:2101];
[av setHidden:YES];

UISwitch *sw = (UISwitch*) [[self view] viewWithTag:210];
[sw setEnabled:YES];
于 2013-01-21T19:45:01.450 回答
0

为什么不使用这样的代码:

self.activity.hidden = NO;

于 2013-01-21T04:20:37.753 回答
0

当您提出请求时,启动指标。当 didReceiveResponse 函数被调用时停止你的指标。

于 2013-01-21T07:00:16.850 回答