美文网首页
GeekBand——iOS第六期第三周学习笔记

GeekBand——iOS第六期第三周学习笔记

作者: 文和1 | 来源:发表于2016-05-29 23:51 被阅读0次

    一、初入iOS

    1.1 学习iOS开发

      学习iOS最为重要的是跟随课程进度,视频中老师讲解的要下来经常练习,其次是具备较强的自学能力,对于开发学习资料有两种来源,其一为:查阅官方文档包括。其二为:各种开发者交流社区。

    目前课程进度为对iOS界面控件的学习。iOS中有许多的界面控件其中:

    1、UIButton类是iOS的按钮类。

    2、UILabel类是iOS的标签类,负责显示文本。

    3、UIImage类是图片类,负责将图片封装成对象。

    3、UITextField类是iOS的文本框类,供用户在指定区域输入一行值。

    4、UITextView类是多行文本框类,可以输入多行文字。

    5、UIAlertController类是警报窗,可以弹出对话框,并且对话框其它区域不能点击。

    6、UISwitch类是开关按钮,只有0和1两个值,一般用于对是和否的设置。

    7、UISegmentedControl类是分段按钮,和开关按钮一样是值改变事件。

    8、UISlider类是滑块按钮,如对亮度的调节就可以用滑块。

    9、UIProgressView类是进度条类,可以告诉用户,目前的进度。

    等等。这些控件都有相应的类方法和对象方法,还有各自的特定属性供开发者自定义自己的界面。下来应该多多练习和熟悉这些界面控件。

    2.2 初学iOS

      iOS是为移动设备开发应用程序,所以我觉得开发一个iOS应用最为重要的是两点:功能强大和操作简单。功能强大是用户选择移动应用的原因,操作简单是移动应用留住用户的关键。

    从Single View Application开始,学习iOS应用程序的开发。(iOS6.0以前其实提供了,纯代码的开发工程,更新后就取消了,我也不知道为什么,但是我觉得纯代码的开发工程更适合新手学习)

    先看文件结构:AppDelegate类顾名思义是应用程序代理类。其中实现文件中的方法是整个程序运行的生命周期,这些方法是由系统自动调用,而不能手动调用。

    写在这些方法中的代码就是在这种状态下,程序应该干些啥子。

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  //程序发射完成,就是运行完了欢迎界面。进入main窗口。

    - (void)applicationWillResignActive:(UIApplication *)application//程序将要进入不活动状态,大概意思是说,其它程序打断这个程序的运行。比如有人给你打电话。

    - (void)applicationDidEnterBackground:(UIApplication *)application//程序已经进入后台。意思是说用户按了home键,或者跳转。

    - (void)applicationWillEnterForeground:(UIApplication *)application//程序将要进入前台。于上面相反。

    - (void)applicationDidBecomeActive:(UIApplication *)application//程序已经变成活动状态,和不活动状态相反。

    - (void)applicationWillTerminate:(UIApplication *)application//程序将要终止。就是说用户手动上滑程序,强制关闭应用。

    接下来是ViewController

    我们可以看到,ViewController继承自UIViewController,就是说ViewController是视图控制器的子类,什么是视图控制器呢?我理解是相当于一个容器,其名可以放任何可与用户参生交互的东西,而且只有放在这个上面,我们才能看到。其实现文件中有两个方法:

    - (void)viewDidLoad {

    [super viewDidLoad];

    }//view加载完后,先调用父类的加载方法,这个明显体现了多态,重写了父类的加载方法。写在这个方法中的代码将在界面加载完成后执行。

    - (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    }//也是重修父类的方法,意思是收到内存警告。也就是说,移动设备内存不足时,你该干什么。

    Main.storyboard是故事版,其绑定的类是上面的ViewController,是方便我们可视化设计界面的一个工具。

    Assets.xcassets是iOS提供给我们方便管理图片的工具。其默认创建的一项AppIcon是管理应用程序的图标。

    LaunchScreen.storyboard是发射界面设计故事版,管理应用程序进入时,首先看到的欢迎界面,其随后会自动消失。

    info.plist这个文件,我的理解时管理整个应用程序的各种属性,比如状态栏的显示,程序界面的主入口之类的。

    main函数就不多说了。

    二、Button

    2.1 UIButton

    UIButton类是iOS提供给我们的可点击按钮控件,这个控件应该分成两部分来理解。一个是提供信息功能,一是时间响应功能。

    在信息功能中,用户可以自定义的属性有:

    UIButton but=[UIButton buttonWithType:XXXX]//创建一个button控件,其显示类型可以自定义,iOS提供了很多UIButtonType类型,其实质是一个枚举值。

    [but setTitle:XX forState:XX]//第一个参数是设置,在按钮上显示的文字(注意:有些按钮类型是不会显示文字的),是NSString类型,第二个参数是在什么情况下显示(这个需要下来仔细的熟悉一下)]

    but.titleLabel.textColor=[UIColor redColor];是设置按钮上显示文字的颜色。

    but.titleLabel.textAlignment//是设置按钮显示的文本格式。

    but.tag=XX//是设置tag值,作用是标示此按钮。

    but.frame=CGMakeRectMake(xx,xx,xx,xx)是设置按钮显示的文字和大小。

    如果按钮的Type是Custom,还可以为按钮添加图片:[but setImage:[UIImage imageNamed:图片名] forState:在那种状态下显示];

    在响应功能中,要给这个按钮设置一个Target,代码如下:

    [but addTarget:这个由谁去处理 action:处理的方法(通过@selector()取方法地址)forControlEvents:触发这个Target的事件];

    相关文章

      网友评论

          本文标题:GeekBand——iOS第六期第三周学习笔记

          本文链接:https://www.haomeiwen.com/subject/leuqdttx.html