UIKit_Day03

DAY03

复习:

1 IB:界面设置(xib文件)

2 IBOutLet(属性 输出口)  IBAction(事件返回值)

3 UIStepper 步径控件 常用属性 Value  事件ValueChange

  UISilder快速滑动产生一个可变化的值 常用属性 Value 常用事件:VlaueChang

  UISwith开关控件 属性.ON(BOOL)事件 ValueChange

4 UITeXFiled 单行文本框

       属性:.text .......

       事件:Did End ON Exit

       键盘的弹出: why文本框成为了第一响应者

       关闭键盘:

              [textFile resginFirstResponder]放弃第一响应者身份

              [textFile becomeFirstResponder]让其他控件成为第一响应者

              [self.view endEditing:yes]让视图结束编辑

       关闭键盘的时机:

              点击键盘右下角[Did End On Exit]

              重写控制器的TouchesBegan....WithEven...方法

---------------------------------------------------------------------------------------------------------------

1 UIAlertView警告框

       1.1 选择时机点 创建

              a>创建警告框

              UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"登陆" message:@

"请输入用户名和密码" delegate:nil cancelButtonTitle:@"OK" otherButtonTitle:nil];

              b>设置样式

              alert.alertViewStyle=UIAlertViewStyleLoginAndPasswordInput;

              c>设置显示[alert show];

             

              alertViewStyle的属性:

                     UIAlertViewStyleDefault=0//默认不带输入框

                     UIAlertViewStyleSecureTextInput密码输入框

                     UIAlertViewStylePlainTextInput普通输入框

                     UIAlertViewStyleLoginAndPasswordInput登陆框

              1.2如何获取用户在警告框中的选项-----委托

                     1.2.1 委托是什么?

                            一个对象A让一个对象B帮助他做事情(发消息)

                            步骤:

                            1》指明代理对象 《自己为代理对象》

UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"登陆" message:@

"请输入用户名和密码" delegateSelf cancelButtonTitle:@"OK" otherButtonTitle:nil];

       2》遵守协议<UIAlertVDelegate>

                            3》实现方法:

              -(void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;//单击了按钮之后

         - (void)alertViewCancel:(UIAlertView *)alertView;//alertView销毁时

         - (void)willPresentAlertView:(UIAlertView *)alertView; //将要出现alertView

         - (void)didPresentAlertView:(UIAlertView *)alertView; //出现完成 alertView

         -(void)alertView:(UIAlertView*)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex;

         -(void)alertView:(UIAlertView*)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex;

        - (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView;

                     1.2.2 获取点击按钮的操作

                            根据点击按钮的索引获取点击按钮的标题

                     -(void)alertView:(UIAlertView*)alertView ClickedButtonAtIndex:(NSInteger)buttonIndex;方法中的第二个参数是点击按钮的索引,意义根据一下方法进行判断:

                            NSString *title=[alertView buttonTitleAtIndex:buttonIndex]获取按钮上的文字

                            1》通过判断标题来判断不同的动作 title isEqualToString:@"YES"

                            2》通过点击cancel的值判断 alertView.cancelButtonIndex==buttonIndex

                            3》直接通过索引进行判断

                     1.2.3 获取弹窗输入的文本内容

                            当点击YES按钮时在控制台上打印用户名

                            if(alertView.cancelButtonIndex==butonIndex){

                            Nsstring *username=[alertView textFiledAtIndex:0].text; //  获取用户名

                            Nsstring *password=[alertView textFiledAtIndex:1].text;     //获取密码

                            NSLog(@"用户名:%@ 密码%@",usernam,password);

                            }

       2 UIACtionSheet(从屏幕下方弹出的按钮)

              2.1 创建

                     1》创建实例

                            UIActionSheet *sheet=[[UIActionSheet alloc]initWithTitle:@"操作表" delegate:self cancelButtonTitle:@"cance" destructiveButtonTitle:@"destruct" otherButtonTitles:@"微博",@"微信",@"朋友圈",nil];

                     2》显示

                            [sheet showInView:self.view];

              2.2 区分按钮

                     遵守协议<UIActionSheetDelegate>

                     实现方法

                     //区分点击按钮

                       NSLog(@"%d",buttonIndex);

                                //判断按钮标题

                              NSString *title= [actionSheet buttonTitleAtIndex:buttonIndex];

                             NSLog(@"%@",title);

                             if (actionSheet.cancelButtonIndex==buttonIndex) {

                           //单击了cancel

                                  }

                                    if (actionSheet.destructiveButtonIndex==buttonIndex) {

                               //单击了有破坏性的那个危害按钮

                           }

 

3 MVC(Model 模型  View 视图 Controller 控制器)

       3.1什么是设计模式

              对于某一类具体问题 总结出来的一套最优的解决方案

       3.2 优点

              结构清晰 可以重用 方便维护 耦合度低

       3.3 MCV设计模式

              Model 模型:数据存储 程序的业务逻辑 多线程 网络传输 文件存储

              View 视图 :视图搭建

              Controller控制器:搭建起了M与V的连接

 4 MVC经典案例:纸牌对对碰

       里程碑1:能够随机产生12张扑克牌 并且在屏幕上显示随机产生的12张扑克变牌

       里程碑2:根据选中的按钮位置 进行对比然后改变数据模型 改变之后传给控制器负责将改变后的数据更新到界面中

       里程碑3:第二次点击的扑克牌 与第一次点击的扑克牌对比 如果颜色形同同时翻开 如果大小相同同时翻开  否则第一次翻开的扑克牌翻回

       开发细则:

       Class Card

                     suit//定义花色

                     rank//定义牌的面值

                     cardInfo//一张扑克牌的信息

                     faceUp//标记是否翻开

                     matched//标记是否可以再次点击

                     +(NSArray*)allSuit//定义所有的花色

                     +(NSArray*)allRank//定义所有的面值

                     -(id)initWithSuit:(NSString *)suit AndRank:(NSString*)rank//初始化

                     -(NSString*)cardInfo//初始化

                     -(void)setSuit:(NSString*)suit//重定义set方法

                     -(void)setRank:(NSString*)rank//重定义set方法

       class Pocker

allCards;

                     -(NSMutableArray *)allCards;

                     -(id)init;

       Class Game

           randomCards;//随机牌数

                     score;//得分

                     -(instancetype)initWinthCountCard:(NSInteger)count  AndinPoker:(Pocker*)poker;

                   -(void)chooseCardAtIndex:(NSUInteger)index;//选择的扑克牌

                     -(NSMutableArray *)randomCards//产生扑克牌

Conterllor:

game;游戏规则

              poker;一副扑克

              buttons;

时间: 2024-10-30 03:03:01

UIKit_Day03的相关文章