c - Cara yang jarang berlaku untuk mencipta pandangan, sila beri saya nasihat
怪我咯
怪我咯 2017-05-02 09:29:47
0
1
466

Kaedah mencipta paparan adalah sangat pelik dan saya tidak faham maksudnya. Tolong beri saya nasihat

Kodnya adalah seperti berikut:

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

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

membalas semua(1)
習慣沉默

Adakah pelik? Ini yang saya salin...
Parameter addSubview diletakkan dalam blok kod "({})" dan penciptaan dan tetapan atribut paparan diselesaikan dalam "({ })" , ayat terakhir blok kod ialah subview yang ingin kami tambahkan.

Kaedah penulisan ini mengikut ciri GNU C iaitu pernyataan majmuk. Iaitu, dalam blok kod "({})", kita boleh meletakkan berbilang kenyataan, yang boleh menjadi gelung, cawangan, pengisytiharan berubah-ubah, panggilan fungsi, dsb. Ayat terakhir pernyataan majmuk ialah ungkapan, yang berfungsi sebagai nilai akhir bagi keseluruhan pernyataan majmuk.

Apabila menulis kod Objektif-C, menggunakan pernyataan majmuk boleh menjadikan kod kami lebih elegan, terutamanya apabila mencipta dan menambah sekumpulan subview, ia boleh menjadikan kod kami kelihatan lebih bersih. Disyorkan untuk kegunaan biasa.
Laman web

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan