A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一行代码一场梦,大家好我是阿达,又到了技术分享的时间,还有技术分大放送,这么好的事怎么还不来看一下呢?
新加入的小伙伴,在看了视频之后心里一定都有个疑问,就是『我学这个跟做APP有毛线关系啊?』阿达今天就跟小伙伴们分享一个简单的元件应用,在这里小伙伴们会发现原来做APP这么简单!



今天小伙伴们将会学习到关于资料型态的转换,使用UISlider,使用UISwitch
因为在这里阿达假设小伙伴们都已经看完了基础视频,所以基础的操作阿达在这里就跳过不说明,首先不用多说,我们开始建立新的项目命名为『Calculate 』

在這裡阿達使用的語言是OC所以記得將語言設定為OC

再来就是到 storyboard 里面将我们所需要的元件拖到上面来布局。

在这里阿达用红色的字体将元件的名字标记出来,让小伙伴们可以在元件库里面很容易找到



再来就是连连看的时间啦,为了节省篇幅,阿达就不一步一步的带小伙伴连,直接展示出最后的结果,小伙伴们也可以将他复制贴上之后直接连线 一样的效果喔!
@property (weak, nonatomic) IBOutlet UITextField *money;

@property (weak, nonatomic) IBOutlet UISwitch *shopswitch;

@property (weak, nonatomic) IBOutlet UISlider *shopslider;
@property (weak, nonatomic) IBOutlet UILabel *shopmoney;

@property (weak, nonatomic) IBOutlet UILabel *totalmoney;

在这里我们还要针对元件做一些微调,照着图片来操作就对了XD


我们来分析一下,在所有的元件里面,需要接受我们操作的元件只有三个,也就是 text, slider , switch 所以我们要针对他们建立函数
- (IBAction)calMoney:(id)sender;

- (IBAction)switchMoney:(id)sender;

- (IBAction)sliderMoney:(id)sender;



完成之后看起来就是这个样子的,小伙伴们别忘了以上的操作都是在 ViewController.h 里面操作的喔。

接下来我们进入到  ViewController.m 里面来实际操作这些函数,让它动起来,当然小伙伴们也可以先迫不及待地按下 command + R  来看看在手机上显示的情况,你们也可以按下里面的案件,不过 什么事情都不会发生XD

首先我们看到 - (IBAction)calMoney:(id)sender

在里面加上以下代码:
   //提⽰示 NSLog(@"calMoney");
    //取得money物件的字串
    NSString *pay = [_money text];
    //將pay⽂文字物件轉成整數
    int payMoney = [pay intValue];
    //將數值轉成⽂文字
    NSString *payStr = [NSString stringWithFormat:@"%d", payMoney ];
    //計算後將結果輸出,並以⽂文字⽅方式呈現
    [_totalmoney setText: payStr ];

这里我们可以清楚地看到,我们建立了一个变数来接收我们所输入的数字,之后再将我们所输入的『文字』 转换成『数字』最后再将他输出。
接下來我們到 - (IBAction)switchMoney:(id)sender

  NSString *pay = [_money text];
    int payMoney = [pay intValue];

    //利用Switch確認是否需要包含手續費
    if ([_shopswitch isOn]) {
        [_totalmoney setText:
         [NSString stringWithFormat:@"%d", payMoney + (int)[_shopslider value] ] ];
    }else{
        [_totalmoney setText:[NSString stringWithFormat:@"%d", payMoney ] ];
    }

这边其实就是利用 switch元件来做判断 如果是on 的话 就把它加上运费,如果不是的话那就是原来的输入。

最后我们来到- (IBAction)sliderMoney:(id)sender

NSString *pay = [_money text];
    int payMoney = [pay intValue];

    //取得手續費並顯示在畫面上
    [_shopmoney setText:[NSString stringWithFormat:@"%d", (int)[_shopslider value]]];
    if ([_shopswitch isOn]) {
        [_totalmoney setText:
         [NSString stringWithFormat:@"%d", payMoney + (int)[_shopslider value] ] ];
    }else{
        [_totalmoney setText:[NSString stringWithFormat:@"%d", payMoney] ];
    }

在这边我们要做的事情其实就是把slider  上面滑动的数字显示出来,然后根据刚刚的switch 来判断是否加上去。



说了那么多 我们来按下 command + R 来试试看吧

是不是感觉好棒棒的啊!?恭喜小伙伴成功地做出了一个简单的App别怀疑!这样就可以上架了! 这样的功能改一改一个简单的计算器就这样诞生了。

好了!接下来就是阿达撒技术分的时间了,我们发现这个App毕竟还是不完美,首先,我们的键盘收不下去?!有没有小伙伴知道这个问题怎么解决的呢?

如果觉得这个问题实在太简单,不屑回答的小伙伴可以挑战看看进阶版题目

同样只有这些元件 只是运算的方式稍微修改,小伙伴们知道该怎么做吗?



同样只有这些元件 只是运算的方式稍微修改,小伙伴们知道该怎么做吗?

现在阿达来公布一下评分标准

能够成功的将键盘收下去的小伙伴技术分+1
能够做出进阶版的小伙伴技术分 +2
能够使用swift 写出 任何一个版本的小伙伴 技术分 +3

请再回覆当中附上你们的程式压缩包,回帖仅阿达可见。阿达在活动结束之后将会一个一个的来看,如果发现有写得好的小伙伴,经过当事人同意之后还会跟大家分享喔!

活动时间四十八小时,到八月二号的下午五点,请小伙伴们踊跃参与!
让我们用一行一行的代码,一步一步地实现我们的梦想,我是阿达,我们下回见!

评分

参与人数 1技术分 +2 收起 理由
狮子王 + 2 赞一个!

查看全部评分

102 个回复

正序浏览
littp 中级黑马 2015-12-24 00:47:34
99#
此帖仅作者可见
使用道具 举报
yfh349958021 来自手机 中级黑马 2015-12-24 00:15:17
98#
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
Kuhoku 中级黑马 2015-12-23 01:09:35
96#
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
sytoby 中级黑马 2015-11-23 11:38:28
84#
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
12345下一页
您需要登录后才可以回帖 登录 | 加入黑马