博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[某鸥实训记][objective-c][第五天][个人笔记]
阅读量:6917 次
发布时间:2019-06-27

本文共 2281 字,大约阅读时间需要 7 分钟。

TableView+ScrollView

  • 往cell里加label
  • 解决重影的办法
    • 重用cell的时候删除元素

NSArray *subViews = cell.subviews;

    for (UIView *view in subViews) {

        [view removeFromSuperview];

    }

  • 在if(cell==nil)中去定义子视图,加上tag值.在外边通过tag值获取视图,修改值
  • 封装一个自定义的cell类

//

  • 将获得cell的方法从- (UITableViewCell*)dequeueReusableCellWithIdentifier:(NSString*)identifier 换为-(UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath.重用机制调用的就是dequeueReusableCellWithIdentifier这个方法,方法的意思就是“出列可重用的cell”,因而只要将它换为cellForRowAtIndexPath(只从要更新的cell的那一行取出cell),就可以不使用重用机制,因而问题就可以得到解决,虽然可能会浪费一些空间。
  • 通过为每个cell指定不同的重用标识符(reuseIdentifier)来解决。重用机制是根据相同的标识符来重用cell的,标识符不同的cell不能彼此重用。于是我们将每个cell的标识符都设置为不同,就可以避免不同cell重用的问题了。

//

 

 

下面是用ScrollView的一段代码

1 - (void)viewDidLoad { 2     [super viewDidLoad]; 3     //控制条?不透明 4     self.navigationController.navigationBar.translucent = NO; 5     UIScrollView *scroll = [[UIScrollView alloc] init]; 6     scroll.frame = self.view.frame; 7     scroll.backgroundColor = [UIColor darkGrayColor]; 8     scroll.contentSize = CGSizeMake(self.view.frame.size.width*5, self.view.frame.size.height-64); 9     NSLog(@"%f",(double) self.navigationController.navigationBar.frame.size.height);10     //一页一页的滑动11     scroll.pagingEnabled = YES;12     scroll.contentOffset = CGPointMake(self.view.frame.size.width*2,0);13     [self.view addSubview:scroll];14     15     for (int i=0;i<5; i++) {16         UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(image)];17         UIImageView *imageView = [[UIImageView alloc] init];18         imageView.userInteractionEnabled = YES;19         imageView.frame = CGRectMake(self.view.frame.size.width*i, 0, self.view.frame.size.width, self.view.frame.size.height-64);20         NSLog(@"%f",(double) self.navigationController.navigationBar.frame.size.height);21         imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"t%d.png",i+1]];22         [imageView addGestureRecognizer:tap];23         [scroll addSubview:imageView];24     }25     // Do any additional setup after loading the view, typically from a nib.26 }27 28 - (void)image{29     FirstViewController *firstVC = [FirstViewController new];30     [self.navigationController pushViewController:firstVC animated:YES];31 }

 

转载于:https://www.cnblogs.com/NyaSu/p/4801933.html

你可能感兴趣的文章
context 和 getApplicationContext()
查看>>
谷歌眼镜计划明年“高价”上市
查看>>
桌面虚拟化简介
查看>>
Andriod 第五课----图形界面
查看>>
linux 控制sshd的远程访问
查看>>
telnet命令 date命令
查看>>
Ubuntu Linux 查看、编辑、比较二进制文件
查看>>
Nginx图片防盗链【实战】
查看>>
Entity Framework Code First使用DbContext查询
查看>>
解决SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法...
查看>>
提前了解这些,高考可能就会多点分数——12条高考考场应试技巧!
查看>>
linux vnc安装流程
查看>>
linux XFRM整体框架简单分析
查看>>
使用phpmaill发送邮件的例子
查看>>
Spring AOP 学习总结
查看>>
nginx功能使用演示
查看>>
Exchange Server 2010 管理控制台初始化失败
查看>>
mysql优化 之 表设计注意事项
查看>>
输出操作符重载
查看>>
zabbix server update监控
查看>>