c - Une manière rare de créer une vue, merci de me donner quelques conseils
怪我咯
怪我咯 2017-05-02 09:29:47
0
1
489

La méthode de création d'une vue est très bizarre et je ne comprends pas ce que cela signifie. Veuillez me donner quelques conseils

.

Le code est le suivant :

 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;
                });
怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(1)
習慣沉默

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal