0

サーバーから成功の応答を受け取ったときに、ボタンに重力を適用したいと考えています。次のような UIKitDynamics 要素を作成しています。

-(void) setup
{
    _animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
    _gravity = [[UIGravityBehavior alloc] initWithItems:@[self.saveShareButton]];
    _collision = [[UICollisionBehavior alloc] initWithItems:@[self.saveShareButton]];
    _collision.translatesReferenceBoundsIntoBoundary = YES;

    _push = [[UIPushBehavior alloc] initWithItems:@[self.saveShareButton] mode:UIPushBehaviorModeInstantaneous];

    [_push setPushDirection:CGVectorMake(0, 1)];

    [_animator addBehavior:_collision];
    [_animator addBehavior:_gravity];
}

これがWebサービスコードです

-

    (IBAction) saveStory
    {
        Story *story = [[Story alloc] init];
        story.title = self.titleTextField.text;
        story.abstract = self.abstractTextView.text;


        [[StoryHTTPClient sharedClient] createStory:story success:^(NSURLSessionDataTask *task, id responseObject) {

            // success

                [_animator addBehavior:_gravity];
                [_animator addBehavior:_push]; // apply push to that gravity will kick off


        } failure:^(NSURLSessionDataTask *task, NSError *error) {

            // failure

        }];
    }

成功ブロック内に _gravity ビヘイビアーを追加し、_push ビヘイビアーを適用して開始します。しかし、何も起こりません。私は何を間違っていますか?

4

0 に答える 0