跳转页面选择与逻辑

原创 2016年08月31日 15:33:54
在定制的tableViewCell中,要显示cell中界面的数据,就必须在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath这个方法里面将数据传到cell中,然后重写数据源的set方法,给cell里面的空间赋值。
而要在cell里面将事件的响应方法实现,则要通过代理方法,让控制器知道。然后在控制器中实现代理方法。
今天要记录的要实现这样的一个效果:在cell中有一个button,点击button可以增加一个label,计算label的宽高以及删除。
主要代码如下:`- (void)setMaterialsArray:(NSMutableArray *)materialsArray{
//将传进来的数组遍历
_materialsArray = materialsArray;
[self.contentView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
[_materialsArray enumerateObjectsUsingBlock:^(YWMaterial*  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

    UILabel * label = [self newPersonNameLabel];
    //计算label的宽高
    label.frame = CGRectMake(10 + KNameLabelWidth * (idx % 3) + KLabelGap * (idx % 3),10 + (idx/3)*(KNameLabelHeight+KcontentGap), KNameLabelWidth, KNameLabelHeight);
    label.text = obj.materialName;
    [self.contentView addSubview:label];

    UIButton *cancelButton = [self newCancelButton];
    //这个tag主要用于响应事件
    cancelButton.tag = 1000 + idx;
    //计算取消按钮的宽高
    cancelButton.frame = CGRectMake(CGRectGetMaxX(label.frame)-8, 3 + (idx/3)*(KNameLabelHeight+KcontentGap), KCancelBtnSize, KCancelBtnSize);
    [self.contentView addSubview:cancelButton];
}];
self.selectButton.frame = CGRectMake(10 + KNameLabelWidth * (_selectedContactsArray.count % 3) + KLabelGap * (_selectedContactsArray.count % 3), (_selectedContactsArray.count/3)*(KNameLabelHeight+KcontentGap) + 10, KNameLabelWidth, KNameLabelHeight);
[self.contentView addSubview:self.selectButton];

}

cancelButton的响应事件:
- (void)handleCancelSelectButtonEvent:(UIButton*)sender{
NSInteger tag = sender.tag-1000;
[self.selectedContactsArray removeObjectAtIndex:tag];
if ([self.delegate respondsToSelector:@selector(cancelButtonEvent:)]) {
[self.delegate cancelButtonEvent:tag];
}
}
`

相关文章推荐

闪屏页新手引导页面主页判断跳转的逻辑

闪屏页的实现 : import android.app.Activity; import android.content.Intent; import android.os.Bundle; imp...

我有这样一个业务逻辑:现在做了一个网站,有一些网页时需要登录后才可以浏览,现在有这样一个要求,在浏览某些特定网页,跳转到登录页面,登录后,怎么样才能返回原页面?

2014-4-4 9:03:58 org.apache.catalina.core.AprLifecycleListener init 信息: The APR based Apache Tomcat...
  • tfy1332
  • tfy1332
  • 2014年04月04日 09:13
  • 3076

一个简单的demo模拟登录过程页面跳转逻辑和双击退出应用

直接上代码 APP:public class APP extends Application { public List activityList; private static A...
  • HiJson
  • HiJson
  • 2017年03月19日 22:13
  • 438

web国际化,使用accept-language+cookie自动选择语言跳转页面!

如果是多语言网站,在用户请求访问的时候,服务器根据用户通过浏览器发送的请求中的accept-language 值进行判断,自动返回用户默认的首选语言页面。 简单的说就是如果你浏览器默认选择语言是zh...

Android-Weex之多应用选择窗口处理及页面之间的跳转

weex在Android开发中,如何进行多页面跳转和设置唯一应用模式(如何避开多应用选择模式)...
  • byxyrq
  • byxyrq
  • 2017年05月11日 14:23
  • 1799

android 点击按钮实现页面跳转并显示以选择信息

感觉今天所学的 radio listcheckbox spinner 基础内容都比较简单 目前只写了单选的信息显示。 checkBox 和 Spinner 还没实现 源码如下 (注意要写第...

android页面跳转

  • 2017年09月20日 13:10
  • 15KB
  • 下载

深入浅出学习Struts1框架(二):重构MVC模式代码中跳转路径和业务逻辑

在上篇博文《深入浅出学习Struts1框架(一):一个简单mvc模式代码示例开始》中简单说了一下MVC模式代码的实现和MVC模式和三层架构的区别,并且留下一个问题—如何去掉TestServlet中的I...
  • lfsf802
  • lfsf802
  • 2012年02月21日 20:25
  • 9362

Android页面跳转

  • 2014年11月18日 22:10
  • 1.3MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:跳转页面选择与逻辑
举报原因:
原因补充:

(最多只允许输入30个字)