ios设计一部WindowsPhone手机

main.m

#import <Foundation/Foundation.h>
#import "WindowsPhone.h"
int main(int argc, const char * argv[])
{

    WindowsPhone * phone = [WindowsPhone new];
    phone->_color = WindowsPhoneColorGolden;
    phone->_size = 3.5;
    NSLog(@"%@",phone);
    [phone cameraWithFlashLightSatuts:WindowsPhoneFlashLightStatusOpen];

    @autoreleasepool {

        // insert code here...
        //NSLog(@"Hello, World!");

    }
    return 0;
}

WindowsPhone.h

#import <Foundation/Foundation.h>

enum WindowsPhoneSize
{
    WindowsPhoneSize3Point5,//屏幕尺寸3.5
    WindowsPhoneSize4Point0,//屏幕尺寸4.0
    WindowsPhoneSize5Point5,//屏幕尺寸5.5
    WindowsPhoneSize6Point0 //屏幕尺寸6.5
};
typedef enum WindowsPhoneSize WindowsPhoneSize;

enum WindowsPhoneColor
{
    WindowsPhoneColorWhite,//用来存储WidowsPhone的颜色白色
    WindowsPhoneColorGolden,//用来存储WindowsPhone的颜色土豪金
    WindowsPhoneColorBlack //用来存储WindowsPhone的颜色黑色
};

typedef enum WindowsPhoneColor WindowsPhoneColor;

enum WindowsPhoneFlashLightStatus
{
    WindowsPhoneFlashLightStatusOpen,//闪关灯开
    WindowsPhoneFlashLightStatusClose,//闪光灯关
    WindowsPhoneFlashLightStatusAuto//自动模式
};

typedef enum WindowsPhoneFlashLightStatus WindowsPhoneFlashLightStatus;

//记录电影播放的状态
enum WindowsPhoneFilmPlayStatus
{
    WindowsPhoneFilmPlayStatusStart,//状态:开始播放
    WindowsPhoneFilmPlayStatusPause,//状态:暂停播放
    WindowsPhoneFilmPlayStatusFastSpeed,//状态:快进
    WindowsPhoneFilmPlayStatusSlowSpeed, //状态:快退
    WindowsPhoneFilmPlayStatusLastFilm,//状态:上一部
    WindowsPhoneFilmPlayStatusNextFilm //状态:下一部

};

typedef enum WindowsPhoneFilmPlayStatus WindowsPhoneFilmPlayStatus;

@interface WindowsPhone : NSObject
{
    @public
    /**用来存储WindowsPhone的颜色*/
    WindowsPhoneColor _color;

    /**用来存储WindowsPhone的尺寸大小*/
    float _size;

    /**用来存储WindowsPhone cpu的大小*/
    float _cpu;
    /**用来存储WindowsPhone ram内部存储的大小*/
    float _ram;
}

//setter 方法
-(void)setWindowsPhoneSize:(float)size;

/**打开闪光灯*/
-(void)openFlashLight;

/**关闭闪光灯*/
-(void)closeFlashLight;

/**自动模式*/
-(void)flaseLightAuto;

/**拍照*/
-(void)cameraWithFlashLightSatuts:(WindowsPhoneFlashLightStatus)flashLightStatus;
/**看电影*/
-(void)filmWithPlayStatus:(WindowsPhoneFilmPlayStatus)WindowsPhoneFilmPlayStatus;
/**发邮件*/
-(void)sendEmail;

@end

WindowsPhone.m

#import "WindowsPhone.h"

@implementation WindowsPhone
/**打开闪光灯*/
-(void)openFlashLight
{
    //打开闪光灯
    NSLog(@"打开闪光灯");
}

/**关闭闪光灯*/
-(void)closeFlashLight
{
    //关闭闪光灯
    NSLog(@"关闭闪光灯");
}
/**自动模式*/
-(void)flaseLightAuto
{
    //自动模式
    NSLog(@"自动模式");
}
//拍照
-(void)cameraWithFlashLightSatuts:(WindowsPhoneFlashLightStatus)flashLightStatus
{
    //self 关键字 谁调用指的就是谁 可以实现类的内部方法的调用
    if(flashLightStatus == WindowsPhoneFlashLightStatusOpen)
    {
        [self openFlashLight];
        //打开摄像头
    }
    else if(flashLightStatus==WindowsPhoneFlashLightStatusClose)
    {
        [self closeFlashLight];
        //关闭摄像头
    }
    else
    {
        [self flaseLightAuto];
        //自动模式
    }

    NSLog(@"拍照了!笑一个!");
    //用switch来实现这个功能
    /*
    switch(flashLightStatus)
    {
            case WindowsPhoneFlashLightStatusOpen:
            [self openFlashLight];
            break;
            case WindowsPhoneFlashLightStatusClose:
            [self closeFlashLight];
            break;
            case WindowsPhoneFlashLightStatusAuto:
            [self flaseLightAuto];
            break;
            default:
            break;
    }
    */

}

//看电影
-(void)filmWithPlayStatus:(WindowsPhoneFilmPlayStatus)WindowsPhoneFilmPlayStatus
{
    if(WindowsPhoneFilmPlayStatus == WindowsPhoneFilmPlayStatusStart){
        //开始播放电影
        NSLog(@"开始播放电影");
    }
    else if (WindowsPhoneFilmPlayStatus == WindowsPhoneFilmPlayStatusPause)
    {
        //暂停播放
        NSLog(@"暂停播放");
    }
    else if(WindowsPhoneFilmPlayStatus == WindowsPhoneFilmPlayStatusFastSpeed)
    {
        //快进
        NSLog(@"快进");
    }
    else if(WindowsPhoneFilmPlayStatus == WindowsPhoneFilmPlayStatusSlowSpeed)
    {
        //快退
        NSLog(@"快退");
    }
    else if(WindowsPhoneFilmPlayStatus==WindowsPhoneFilmPlayStatusLastFilm)
    {
        //上一部电影
        NSLog(@"播放上一部电影");
    }
    else if(WindowsPhoneFilmPlayStatus == WindowsPhoneFilmPlayStatusNextFilm)
    {
        //下一部电影
        NSLog(@"播放下一部电影");
    }
    else
    {
        //退出
        NSLog(@"退出");
    }

}
//setter 方法
-(void)setWindowsPhoneSize:(float)size
{
    _size = 3.5;
}

//重写description方法
//这里重写方法要注意是重写的是对象方法还是类的方法
//用来调试

-(NSString *)description
{
    return [NSString stringWithFormat:@"size = %f cpu = %f ram = %f ",_size,_cpu,_ram];
}
@end

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-11 21:39:05

ios设计一部WindowsPhone手机的相关文章

设计一部iphone手机用面向对象的方法

main.m //编辑字体大小command + < //编译执行快捷键 com + R #import <Foundation/Foundation.h> #import "Iphone.h" int main(int argc, const char * argv[]) { Iphone * phone = [Iphone new]; phone->_ram = 512; phone->_cpu = 1.5; int year = 2015; int

iOS 设计中关于UIScrollViewDelegate的几个代理方法的简单介绍

在ios设计的过程中,对于UIScrollView这个控件对于开发者而言都不会陌生,在处理UI界面的时候我们经常会用到UIScrollView,既然用到了UIScrollView,那么UIScrollView的几个代理方法就无法避免的被使用了.本文并不介绍UIScrollView的相关属性,就介绍几个代理方法. / 此方法在scrollView滑动时会被调用多次,只要scrollView.contentOffset发生改变就会被调用 / (void)scrollViewDidScroll:(UI

非官方的iOS设计指南

有时候为iOS设计app并不是一件简单的事,但是如果你能找到正确的最新的苹果设备信息,并按照正确的方向,那么为iOS设计app或许会变得简单容易些. 关于这些指南 这些指南描述了如何遵守苹果的iOS 人机交互指南来设计app,而不是讲用自定义控件可以做成什么样的设计,有时候打破规则也很重要.该文档的目的并不是为一些复杂的设计问题提供解决方案.该文档是非官方的,将会定期更新和扩充内容,最近一次更新是2014年11月11日. 分辨率和显示屏规格(Resolutions和Display Specifi

iOS Dev (66) 一个手机游戏程序的基本考虑

iOS Dev (66) 一个手机游戏程序的基本考虑 博客:http://blog.csdn.net/prevention 作者:大锐哥 摘自:Learn iPhone and iPad cocos2d Game Development 1 基本流程内的 handler 程序启动 applicationDidFinishLaunching 程序切到后台 applicationDidEnterBackground 程序运行结束 applicationWillTerminate 2 基本设置 允许用

如何给父母设计一款手机

父母,养育了我们半辈子的人,可以说对我们的爱是无私的.如果让我来给父母辈来设计一款手机的话,首先我认为手机是一个冰冷的机器,而我觉得应该是手机包含着我对父母的孝心,深深地体现出我手机的主题“温情”. 现在手机格式各样,功能也非常完善,但是更多的注重年轻人的娱乐,社交等功能.我觉得如果我去设计的话 ,首先不会去开发这些功能,我觉得折现功能网上都能下载到app来解决.相应的我的团队所要设计的一些appshi 关心父母健康的.比如用自己的语音来录下提醒父母什么时候吃药:什么时候量血压:测血糖.因为用自

iOS 整理笔记 获取手机信息(UIDevice、NSBundle、NSLocale)

/*    iOS的APP的应用开发的过程中,有时为了bug跟踪或者获取用反馈的需要自动收集用户设备.系统信息.应用信息等等,这些信息方便开发者诊断问题,当然这些信息是用户的非隐私信息,是通过开发api可以获取到的.那么通过那些api可以获取这些信息呢,iOS的SDK中提供了UIDevice,NSBundle,NSLocale.    UIDevice        UIDevice提供了多种属性.类函数及状态通知,帮助我们全方位了解设备状况.从检测电池电量到定位设备与临近感应,UIDevice

IOS设计指南

以前整理过一份关于关于<IOS应用提交时所需要的ICON>,之后IPhone 6/Plus出来,又多了二种尺寸,近期看到国外的一家网站上整理出比较全的尺寸,以及在IOS设计上的一些参考建议. 原文链接: <The iOS Design Guidelines>   分辨率和显示规格   应用的图标规格 文章后面还有:导航栏.搜索栏.状态栏.工具栏等一系列UI的示例说明,鼠标移入到图片上会显示具体的尺寸信息       

【原】iOS 设计中 图片后期简单处理的完美组合

iOS 设计中 图片后期简单处理的完美组合 四张图+.DS_Store (3张alpha通道“是”,1张没有alpha通道) 5,909,971 字节(磁盘上的 5.9 MB),共 5 项 第一步:转非alpha通道,工具 Alpha-Channel-Remover https://github.com/bpolat/Alpha-Channel-Remover  这个地址就哦了 http://alphachannelremover.blogspot.com 这个墙内墙外都试过没打开 转完后:变小

iOS 设计指南

有时候为iOS设计app并不是一件简单的事,但是如果你能找到正确的最新的苹果设备信息,并按照正确的方向,那么为iOS设计app或许会变得简单容易些. 关于这些指南 这些指南描述了如何遵守苹果的iOS 人机交互指南来设计app,而不是讲用自定义控件可以做成什么样的设计,有时候打破规则也很重要.该文档的目的并不是为一些复杂的设计问题提供解决方案.该文档是非官方的,将会定期更新和扩充内容,最近一次更新是2014年11月11日. 分辨率和显示屏规格(Resolutions和Display Specifi