zoukankan      html  css  js  c++  java
  • 纯代码实现图片预览

    1UI效果图




    2.代码实现


    //
    //  ViewController.m
    //  04-图片浏览器
    //
    //  Created by liuhang on 15/11/20.
    //  Copyright © 2015年 liuhang. All rights reserved.
    //
    
    #import "ViewController.h"
    /*
     1.查看界面元素需要哪些标签
          UIImageView 图片显示
          UIButton 按钮
          UILabel  标签
       @property  生成set和get 并生成员变量 _noLabel
     
     2.代码布局
        注意点 :  UIImage 是图片,不是控件;他的父类为NSObject;
                  UIImageView是加载图片的控件,父类为UIView
     3.设置监听,实现功能
     */
    
    @interface ViewController ()
    // 定义属性名称
    // 1.序号标签
    @property (nonatomic ,strong)  UILabel *noLabel;
    
    // 2.图片按钮
    @property (nonatomic , strong) UIImageView *iconImage;
    
    // 3.文字描述标签
    @property (nonatomic , strong) UILabel *descLabel;
    
    // 4.左按钮
    @property (nonatomic , strong) UIButton *leftButton;
    
    // 5.右按钮
    @property (nonatomic , strong) UIButton *rightButton;
    
    
    @end
    
    @implementation ViewController
    
    // 初始化加载 : 在viveDidLoad创建界面
    - (void)viewDidLoad {
        
        [super viewDidLoad];
        
        // 1.添加序号标签  slef.noLabel
        _noLabel =  [[UILabel alloc] initWithFrame:CGRectMake(0, 20, self.view.bounds.size.width, 40)];
        _noLabel.text = @"1/5";  // 设置文本内容
        _noLabel.textAlignment = NSTextAlignmentCenter;
        NSLog(@"屏幕的宽度 = %f",self.view.bounds.size.width);  // 414(6s)
        [self.view addSubview:_noLabel];  // 将视图添加到父视图
        
        // 2.添加图片
        CGFloat imageW = 200;
        CGFloat imageH = 200;
        // 图片居中,(获取屏幕长度 - 图片宽度) * 0.5   乘法的效率要不除法的效率高一点
        CGFloat imageX = (self.view.bounds.size.width - imageW) * 0.5;
        // 高度比序号标签高30
        CGFloat imageY = _noLabel.bounds.size.height + 30;
        _iconImage = [[UIImageView alloc] initWithFrame:CGRectMake(imageX, imageY, imageW, imageH)];
        // _iconButton.backgroundColor  = [UIColor redColor];  设置背景颜色检测正确性
        _iconImage.image = [UIImage imageNamed:@"biaoqingdi"];  // 设置背景图片
        [self.view addSubview:_iconImage];
        
        // 3.描述文字
        // CGRectGetMaxY是获取当前控件y坐标值 + 控件高度的值
        CGFloat descY = CGRectGetMaxY(self.iconImage.frame);
        _descLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, descY , self.view.bounds.size.width, 100)];
        _descLabel.text = @"表情帝";
        _descLabel.textColor = [UIColor redColor];  // 设置文本颜色
        _descLabel.textAlignment = NSTextAlignmentCenter;
        [self.view addSubview:_descLabel];
        
        // 4.添加左按钮
        _leftButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 40, 40)];  // 初始化按钮位置
        // 动态设置按钮位置
        CGFloat centerY = self.iconImage.center.y;
        CGFloat centerX = self.iconImage.center.x * 0.3;
        _leftButton.center = CGPointMake(centerX, centerY);
        // 按钮设置背景图片只能通过set方法
        [_leftButton setBackgroundImage:[UIImage imageNamed:@"left_normal"] forState:UIControlStateNormal];
        [_leftButton setBackgroundImage:[UIImage imageNamed:@"left_highlighted"] forState:UIControlStateHighlighted];
        [self.view addSubview:_leftButton];
        
        // 5.设置右按钮
        _rightButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];
        _rightButton.center = CGPointMake(self.view.bounds.size.width - centerX, centerY);
        // 按钮设置背景图片只能通过set方法
        [_rightButton setBackgroundImage:[UIImage imageNamed:@"right_normal"] forState:UIControlStateNormal];
        [_rightButton setBackgroundImage:[UIImage imageNamed:@"right_highlighted"] forState:UIControlStateHighlighted];
        [self.view addSubview:_rightButton];
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    




    可以选择,但是别选择放弃
  • 相关阅读:
    poj 3528 (三维几何求凸包+凸包表面积)
    dijkstra模板(好像是斐波那契额堆优化,但我为什么看起来像优先队列优化,和spfa一样)
    最大空凸包模板
    ICPC 2017–2018, NEERC, Northern Subregional Contest St Petersburg, November 4, 2017 I题
    hdu 5248 序列变换
    hdu 2063(二分图模板测试)
    组合数
    85. Maximal Rectangle 由1拼出的最大矩形
    750. Number Of Corner Rectangles四周是点的矩形个数
    801. Minimum Swaps To Make Sequences Increasing 为使两个数组严格递增,所需要的最小交换次数
  • 原文地址:https://www.cnblogs.com/hangdada/p/4982980.html
Copyright © 2011-2022 走看看