佚名通过本文主要向大家介绍了vc if语句,vc 循环语句,vc for语句,vc 输出语句,vc语句等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 利用复合语句创建对象,在本VC的其他方法怎么调用其对象
描述:
描述:
**代码如下** 怎么提取最外层新创建的对象
UIView *addCard = ({
UIButton *addCard = UIButton.new;
[footer addSubview:addCard];
self.addProject = addCard;
[addCard makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(0);
make.top.equalTo(0);
make.right.equalTo(0);
make.bottom.equalTo(0);
}];
[addCard setTitle:@"添加任务" forState:UIControlStateNormal];
[addCard setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
// [addCard addTarget:self action:@selector(addCard:) forControlEvents:UIControlEventTouchUpInside];
//使用ReactiveCocoa处理点击事件,相当于上面的addTarget:方法
//addCard点击事件
[[addCard rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) {
//隐藏addCard
addCard.alpha = 0;
//输入框
UITextView *textView = ({
self.viewText = [UITextView new];
[footer addSubview:self.viewText];
[self.viewText makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(10);
// make.top.equalTo(3);
make.right.equalTo(-10);
make.bottom.equalTo(-44+2);
}];
//因为footer变大,所以改变tableView的contentInset
listTableView.contentInset = UIEdgeInsetsMake(46, 0, 88, 0);
//立即刷新视图
[self layoutIfNeeded];
_viewText;
});
self.textView = textView;
//初始化add按钮
UIButton *add = ({
UIButton *view = [UIButton new];
view.c
[view setTitle:NSLocalizedString(@"add", nil) forState:UIControlStateNormal];
[view setTitleColor:Global_trelloBlue forState:UIControlStateNormal];
view.titleLabel.font = [UIFont systemFontOfSize:15];
[footer addSubview:view];
[view makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(-20);
make.bottom.equalTo(-1);
make.width.equalTo(100);
}];
[view sizeToFit];
//初始化后隐藏(为了动画效果)
view.alpha = 0;
//立即刷新
[self layoutIfNeeded];
//add点击事件,创建新的tast
[[view rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) {
//textView判空
if (![textView.text isEqualToString:@""]) {
AddTaskApi *api = AddTaskApi.new;
//如果在没有task的列添加新的task,t_sort传0
api.t_sort = @(0);
//都上传0
// if (listTableView.model.tasks.count == 0) {
// api.t_sort = @(0);
// }
// else { //否则传当前列最后一个task的t_sort,再加0.1
// TaskModel *model = listTableView.model.tasks[listTableView.model.tasks.count-1];
// api.t_sort = @(model.t_sort.doubleValue+0.1);
// }
api.t_taskContent = textView.text;
api.t_projectId = @(_project_id.integerValue);
//当前列的id
api.t_panel_id = @(listTableView.model.id.integerValue);
//发起请求
[api startWithCompletionBlockWithSuccess:^(YTKBaseRequest *request) {
NewTasklistModel *model = request.responseModel;
//存在即失败(接口定义,只在失败时才返回status值)
if (model.status) {
}
else { //添加成功
textView.text = nil;
//更新数据源
[listTableView.model.task addObject:model];
//插入行
[listTableView insertRow:(listTableView.model.task.count-1)inSection:0 withRowAnimation:
UITableViewRowAnimationBottom];
//计算rowHeight
CGFloat rowHeight = [self tableView:listTableView heightForRowAtIndexPath:[NSIndexPath indexPathForRow:listTableView.model.task.count-1 inSection:0]];
//根据当前列高度和rowHeight决定列高度是否增加
//updateConstraints:方法更新autolayout
[listView updateConstraints:^(MASConstraintMaker *make) {
//增加新的rowHeight后list超出允许最大高度,之前不满最大高度
if (listTableView.cellTotalHeight > (kTotalCellMaxHeight+NavAndStatusBarHeight-_keyboardHeight-44) && (listTableView.cellTotalHeight-rowHeight) < (kTotalCellMaxHeight+NavAndStatusBarHeight-_keyboardHeight-44)) {
make.height.equalTo(listView.yyHeight+((kTotalCellMaxHeight+NavAndStatusBarHeight-_keyboardHeight-44)-(listTableView.cellTotalHeight-rowHeight)));