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 个回复

倒序浏览
此帖仅作者可见
使用道具 举报
狮子王 来自手机 金牌黑马 2015-7-31 15:56:23
藤椅
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
Kuhoku 中级黑马 2015-7-31 16:00:26
7#
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
wanghongqing 来自手机 中级黑马 2015-7-31 18:20:30
10#
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
温暖的小白 来自手机 金牌黑马 2015-7-31 19:05:57
12#
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
peiyu 高级黑马 2015-7-31 21:13:09
18#
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
此帖仅作者可见
使用道具 举报
12345下一页
您需要登录后才可以回帖 登录 | 加入黑马