recherche

Maison  >  Questions et réponses  >  le corps du texte

c - 罕见的创建视图的方法,求指教

创建视图的方法,但是很诡异,看不懂是什么意思,求大神指教

代码如下:

 UIView *cancel = ({
                    

                    UIButton *view= [UIButton new];
                    view.contentHorizontalAlignment=UIControlContentHorizontalAlignmentLeft;
                    [view setTitle:NSLocalizedString(@"cancel", nil) forState:UIControlStateNormal];
                    [view setTitleColor:Global_trelloBlue forState:UIControlStateNormal];
                    view.titleLabel.font = [UIFont systemFontOfSize:15];
                    [createListView addSubview:view];
                    view.tag = 999;
                    [view makeConstraints:^(MASConstraintMaker *make) {
                        make.left.equalTo(20);
                        make.bottom.equalTo(-1);
                        make.width.equalTo(100);
                    }];
                    [view sizeToFit];
                    view.alpha = 0;
                    [self layoutIfNeeded];
                    //cancel点击事件
                    @weakify(self, view, textView, createListView, listView, add, addCard)
                    [[view rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) {
                        @strongify(self, view, textView, createListView, listView, add, addCard)
                        //footer高度还原
                        [createListView updateConstraints:^(MASConstraintMaker *make) {
                            make.height.equalTo(44);
                        }];
                        //list减去footer增加的高度(在这里做是为了动效)
                        [listView updateConstraints:^(MASConstraintMaker *make) {
                            make.height.equalTo(listView.yyHeight-44);
                        }];
                     
                        //隐藏textView
                        textView.alpha = 0;
                        
                        [UIView animateWithDuration:0.25 animations:^{
                            //cancel隐藏
                            view.alpha = 0;
                            //add隐藏
                            add.alpha = 0;
                            //addCard显示
                            addCard.alpha = 1;
                            [self.viewController.navigationController setNavigationBarHidden:NO animated:YES];
                            [self layoutIfNeeded];
                        }];
                        [textView resignFirstResponder];
                    }];
                    view;
                });
怪我咯怪我咯2757 Il y a quelques jours459

répondre à tous(1)je répondrai

  • 習慣沉默

    習慣沉默2017-05-02 09:31:47

    Est-ce bizarre ? C'est ce que j'ai copié...
    Les paramètres de addSubview sont placés dans un bloc de code "({})", et la création et le paramétrage des attributs de la vue sont terminés dans "({ })" , la dernière phrase du bloc de code est la sous-vue que nous souhaitons ajouter.

    Cette méthode d'écriture suit une fonctionnalité de GNU C, à savoir l'instruction composée. Autrement dit, dans le bloc de code "({})", nous pouvons placer plusieurs instructions, qui peuvent être des boucles, des branches, des déclarations de variables, des appels de fonction, etc. La dernière phrase d'une instruction composée est une expression qui sert de valeur finale à l'ensemble de l'instruction composée.

    Lors de l'écriture de code Objective-C, l'utilisation d'instructions composées peut rendre notre code plus élégant, en particulier lors de la création et de l'ajout d'un ensemble de sous-vues, cela peut rendre notre code plus propre. Recommandé pour une utilisation régulière.
    Page Web

    répondre
    0
  • Annulerrépondre