cari

Rumah  >  Soal Jawab  >  teks badan

c - Cara yang jarang berlaku untuk mencipta pandangan, sila beri saya nasihat

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;
                });
怪我咯怪我咯2854 hari yang lalu499

membalas semua(1)saya akan balas

  • 習慣沉默

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

    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

    balas
    0
  • Batalbalas