加号增加书架,减号减少书架(code4App)

开始时候的效果图:

点击增加时候的效果图:

点击减少时候的效果图:

ReaderViewController.h

#import <UIKit/UIKit.h>

@interface ReaderViewController : UIViewController
<UIScrollViewDelegate>
{
    UIScrollView *scrollView;
}
@property(nonatomic,strong) UIScrollView *scrollView;;
-(void)add;
-(void)dele;
-(void)reloadView;

@end

ReaderViewController.m

#import "ReaderViewController.h"

#define ImageHeight 120
static int num = 0;

@interface ReaderViewController ()

@end

@implementation ReaderViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    //字体的颜色
    self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:248.0/255.0 green:172.0/255.0 blue:37.0/255.0 alpha:1.0];
    //导航栏背景图
    [self addBackgroundView:@"1.png"];

    //左侧删除按钮
    UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc]
                                       initWithTitle:@"delete"
                                       style:UIBarButtonItemStyleBordered
                                       target:self
                                       action:@selector(dele)];
    //右侧增加按钮
    UIBarButtonItem *leftBarButton = [[UIBarButtonItem alloc]
                                      initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
                                      target:self
                                      action:@selector(add)];

    self.navigationItem.rightBarButtonItem = rightBarButton;
    self.navigationItem.leftBarButtonItem = leftBarButton;

    //scrollerView
    scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 416)];
    scrollView.contentSize=CGSizeMake(320,480);

    //设置背景颜色
    UIImage *backimg=[UIImage imageNamed:@"3.png"];
    UIImageView *backview=[[UIImageView alloc] initWithImage:backimg];
    backview.frame=CGRectMake(0, 0, 320, 480);
    [self.view addSubview:backview];

    [self.view addSubview:scrollView];
    //重新刷新界面
    [self reloadView];

}
//导航栏上标题
-(void)addBackgroundView:(NSString*)image{

    UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:image]];
    imgView.frame = CGRectMake(0, 0, 320, 44);
    [self.navigationController.navigationBar addSubview: imgView];

    UILabel *title = [[UILabel alloc] initWithFrame:CGRectMake((320-150)/2, 0, 150, 44)];
    [title setText:@"书架"];
    [title setTextColor:[UIColor whiteColor]];
    [title setTextAlignment:NSTextAlignmentCenter];
    [title setShadowColor:[UIColor grayColor]];
    [title setBackgroundColor:[UIColor clearColor]];
    [title setFont:[UIFont boldSystemFontOfSize:20.0]];
    [self.navigationController.navigationBar addSubview:title];
}

//添加一个书架
-(void)add{

    num++;

    UIImage *backimg=[UIImage imageNamed:@"2.png"];
    UIImageView *backview=[[UIImageView alloc] initWithImage:backimg];
    backview.frame=CGRectMake(0, (num-1)*ImageHeight, 320, ImageHeight);
    backview.tag = num+100;

    [scrollView addSubview:backview];

    if (num>3) {
        scrollView.contentSize=CGSizeMake(320,num*ImageHeight);
    }
}

//删除一个书架
-(void)dele{

    if (num<=0) {
        return;
    }

    for (UIView *view in scrollView.subviews) {
        if(view.tag == (num+100))
            [view removeFromSuperview];
    }

    num--;

    if (num>3) {
        scrollView.contentSize=CGSizeMake(320,num*ImageHeight);
    }

}

//主界面初始化
-(void)reloadView{

    NSLog(@"reloadView");
    //遍历当前界面的所有子界面,把子界面删除干净
    for(UIView *view in scrollView.subviews){
        [view removeFromSuperview];
    }

    scrollView.showsVerticalScrollIndicator=NO;
    scrollView.showsHorizontalScrollIndicator=NO;
    scrollView.delegate=self;
    [scrollView setScrollEnabled:YES];

}
时间: 2024-12-29 23:24:18

加号增加书架,减号减少书架(code4App)的相关文章

SUSE Ceph 增加节点、减少节点、 删除OSD磁盘等操作 - Storage6

一.测试环境描述 之前我们已快速部署好一套Ceph集群(3节点),现要测试在现有集群中在线方式增加节点 如下表中可以看到增加节点node004具体配置 主机名 Public网络 管理网络 集群网络 说明 admin 192.168.2.39 172.200.50.39 --- 管理节点 node001 192.168.2.40 172.200.50.40 192.168.3.40 MON,OSD node002 192.168.2.41 172.200.50.41 192.168.3.41 MO

为kubernetes-dashboard页面增加过期时间,减少登录次数.

方法很多,最简单的就是登录后,找到Deployments 服务, 右侧界面会出现kubernetes-dashboard的项目,如果没出现,那么在namespace那里选择全部名称空间. ports: - containerPort: 8443 protocol: TCP args: - --auto-generate-certificates - --token-ttl=43200 添加args段. 时间单位为秒,我填的是12个小时的时间,基本一天登录一次就够了. 下一篇: 访问docker

洛谷P1848 [USACO12OPEN]书架Bookshelf

当农夫约翰闲的没事干的时候,他喜欢坐下来看书.多年过去,他已经收集了 N 本书 (1 <= N <= 100,000), 他想造一个新的书架来装所有书. 每本书 i 都有宽度 W(i) 和高度 H(i).书需要按顺序添加到一组书架上:比如说,第一层架子应该包含书籍1 ... k,第二层架子应该以第k + 1本书开始,以下如此.每层架子的总宽度最大为L(1≤L≤1,000,000,000).每层的高度等于该层上最高的书的高度,并且整个书架的高度是所有层的高度的总和,因为它们都垂直堆叠. 请帮助农

在AndroidStudio v1.2.0中导入或增加新项目或工程(导入第三方类库或工程)

以下说明基于AndroidStdudio版本v1.2 由于AndroidStudio项目止录与Eclipse中的Worksapce在意义上的改变,所以导入新包或建立新项目时并不和以前那样了. 下面是我碰到的以解决问题的办法.以供参考. 1. 创建好项目后,将需要的第三方jar文件拷贝到工程目录下的app\libs目录中,由于在1.2版本中的build.gradle文件中已经加上了依赖目录,所以不用再改该文件了. dependencies { compile fileTree(dir: 'libs

vim多行增加缩进

http://blog.163.com/[email protected]/blog/static/11135225920116891750734/ 在Normal Mode下,命令>>将对当前行增加缩进,而命令<<则将对当前行减少缩进.我们可以在命令前使用数字,来指定命令作用的范围.例如以下命令,将减少5行的缩进: 5<< 在Insert/Replace Mode下,Ctrl-Shift-t可以增加当前行的缩进,而Ctrl-Shift-d则可以减少当前行的缩进.使用0

ios面试基础

1.#import和#include的区别 @class? @class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文 件中还是需要使用#import 而#import比起#include的好处就是不会引起交叉编译 2. readwrite,readonly,assign,retain,copy,nonatomic 属性的作用 @property是 一个属性访问声明,扩号内支持以下几个属性: 1,getter=getName,setter=setName,设置setter与 get

iOS知识点-总结

1.#import和#include的区别 @class? @class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文 件中还是需要使用#import 而#import比起#include的好处就是不会引起交叉编译 2. readwrite,readonly,assign,retain,copy,nonatomic 属性的作用 @property是 一个属性访问声明,扩号内支持以下几个属性: 1,getter=getName,setter=setName,设置setter与 get

《Linux菜鸟入门2》shell基础命令

●diff diff file file1           比较两个文件的不同 -c            显示上下周围的行 -u            按照一定格式统一输出补丁 -r            比较两个目录中文件的不同 patch file file.path           打补丁 -b             加上-b备份源文件 ●grep grep 关键字符文件|目录       在文件或者目录中查找含有关键字的行 grep   -i             忽略大小

SQL优化的四个方面,缓存,表结构,索引,SQL语句

一,缓存 数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO. query_cache_size/query_cache_type (global) Query cache 作用于整个 MySQL Instance,主要用来缓存 MySQL 中的 ResultSet,也就是一条S