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

リクエストを行うと、インジケーターが開始されます。didReceiveResponse 関数が呼び出されたら、インジケーターを停止します。

于 2013-01-21T07:00:16.850 に答える
0

次のようなコードを使用しない理由:

self.activity.hidden = NO;

于 2013-01-21T04:20:37.753 に答える