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;
});
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