温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ISO开发学习之路--第一篇--图像显示器制作(1)

发布时间:2020-07-06 09:26:28 来源:网络 阅读:282 作者:ybb123sb 栏目:移动开发

    项目主要工作,能够通过按钮按进行翻上一张和下一张对相片就行查看功能。这项目有点简单,但是是学习的必经过程。对学习的整理和参考。


主要目的:

1)熟悉3大控件的使用方法和规则

2)熟悉3大控件的编程方法

3)熟悉ISO开发技巧


下面是今天学习内容的源码,这部分源码实现的有点罗嗦,后期会改成,后来会用plist的方式和应用数组的方式,简化实现图片显示的方法。


#import "ViewController.h"


@interface ViewController ()


@property (nonatomic, strong) UILabel *iLabel;

@property (nonatomic, strong) UIImageView *iImage;

@property (nonatomic, strong) UILabel *idesLabel;

@property (nonatomic, strong) UIButton *leftButton;

@property (nonatomic, strong) UIButton *rightButton;


@property (nonatomic, assign) int index;


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    

    /*标签*/

    self.iLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, 40)];

    self.iLabel.textAlignment = NSTextAlignmentCenter;

    [self.view addSubview:_iLabel];

   

    /*显示图片*/

    CGFloat Image_W = 300;

    CGFloat Image_H = 300;

    CGFloat Image_X = (self.view.frame.size.width - Image_W) *0.5;

    CGFloat Image_Y = CGRectGetMaxY(self.iLabel.frame) + 20;

    self.iImage = [[UIImageView alloc]initWithFrame:CGRectMake(Image_X, Image_Y, Image_W, Image_H)];

    self.iImage.p_w_picpath = [UIImage p_w_picpathNamed:@"biaoqingdi"];

    [self.view addSubview:_iImage];

    

    /*显示左右按钮*/

    self.leftButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 40, 40)];

    self.leftButton.center = CGPointMake(CGRectGetMinX(self.iImage.frame) * 0.5, (CGRectGetMinY(self.iImage.frame) + self.iImage.frame.size.height* 0.5));

    [_leftButton setImage:[UIImage p_w_picpathNamed:@"left_normal"] forState:UIControlStateNormal];

    [_leftButton setImage:[UIImage p_w_picpathNamed:@"left_highlighted"] forState:UIControlStateHighlighted];

    _leftButton.tag = -1;

    [self.view addSubview:_leftButton];

    [_leftButton addTarget:self action:@selector(leftAction) forControlEvents:UIControlEventTouchUpInside];

    

    self.rightButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 40, 40)];

    self.rightButton.center = CGPointMake((CGRectGetMaxX(self.iImage.frame) + self.leftButton.center.x), (CGRectGetMinY(self.iImage.frame) + self.iImage.frame.size.height* 0.5));

    [_rightButton setImage:[UIImage p_w_picpathNamed:@"right_normal"] forState:UIControlStateNormal];

    _rightButton.tag = 1;

    [_rightButton setImage:[UIImage p_w_picpathNamed:@"right_highlighted"] forState:UIControlStateHighlighted];

    [self.view addSubview:_rightButton];

    [_rightButton addTarget:self action:@selector(rightAction) forControlEvents:UIControlEventTouchUpInside];

    

    /*描述内容*/

    self.idesLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(self.iImage.frame) + 30, self.view.frame.size.width, 20)];

    self.idesLabel.textAlignment = NSTextAlignmentCenter;

    

    [self.view addSubview:_idesLabel];

    

    [self buttonAction:nil];

    

}


- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


- (void) buttonAction :(UIButton *) Button

{

    NSLog(@"%s", __func__);

    self.index += (int)Button.tag;

    

    /*显示索引*/

    self.iLabel.text = [NSString stringWithFormat:@"%d/%d", self.index + 1, 5];

    

    switch (self.index)

    {

        case 0:

            self.iImage.p_w_picpath  = [UIImage p_w_picpathNamed:@"biaoqingdi"];

            self.idesLabel.text = @"表情帝";

            break;

            

        case 1:

            self.iImage.p_w_picpath = [UIImage p_w_picpathNamed:@"bingli"];

            self.idesLabel.text = @"病例表";

            break;


        case 2:

            self.iImage.p_w_picpath = [UIImage p_w_picpathNamed:@"chiniupa"];

            self.idesLabel.text = @"吃牛排";

            break;

            

        case 3:

            self.iImage.p_w_picpath = [UIImage p_w_picpathNamed:@"danteng"];

            self.idesLabel.text = @"蛋疼";

            break;

            

        case 4:

            self.iImage.p_w_picpath = [UIImage p_w_picpathNamed:@"wangba"];

            self.idesLabel.text = @"王八";

            break;

            

        default:

            break;

    }

    

}


- (void) leftAction

{

    [self buttonAction: _leftButton];

    _leftButton.enabled = (self.index != 0);

    _rightButton.enabled = (self.index != 4);

}


- (void) rightAction

{

    [self buttonAction:_rightButton];

    _leftButton.enabled = (self.index != 0);

    _rightButton.enabled = (self.index != 4);

}


@end


总结:

1)如果是几个按钮的话, 可以通过+-1的方式利用tag进行,简化明了。

2)uibutton和其他的控件应用不一样

3)在代码中多想下代码重复利用怎么处理能使代码更加简单!


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI