ios 入门笔记(引起用户注意)

 


 

alertDialog

要将相应创建的类的接口中遵守协议

@interface ViewController : UIViewController <UIAlertViewDelegate, UIActionSheetDelegate>   //此处是UIAlertViewDelegate

初始化实现:- (IBAction)doMultiButtonAlert:(id)sender {
    UIAlertView *alertDialog;                  //触发了该操作后,创建一个ALERTVIEW,
    alertDialog = [[UIAlertView alloc]
                   initWithTitle: @"Alert Button Selected"       //提醒的标题
                   message:@"I need your attention NOW!"   //提醒的内容
                   delegate: self                  //如果委托刚好是创建提醒视图对象,则SELF,(通常是VIEWCONTROL 遵循协议)
                   cancelButtonTitle: @"Ok"
                   otherButtonTitles: @"Maybe Later", @"Never", nil];   //以NIL结尾,表示多个提醒按钮

      alertDialog.alertViewStyle=UIAlertViewStylePlainTextInput;       //加这一行就变成了有一个文本框 如果是UIALERTVIEWSECURETEXTINPUT密码文本框UIALERTVIEWSTYLELOGINANDPASSWORDINPUT一个普通文本框,一个密码文本框。


    [alertDialog show];                 //出现视图
}

如要对提醒中按中什么按钮执行相应操作

- (void)alertView:(UIAlertView *)alertView                     //传入进去的是按下按钮的索引buttonindex就是按下按钮的索引,写作遵循协议类的实现中,该方法必须要写是协议
        clickedButtonAtIndex:(NSInteger)buttonIndex {                    
    NSString *buttonTitle=[alertView buttonTitleAtIndex:buttonIndex];    //bottonTitleAtindex:buttonIndex返回按下按钮的标题
    if ([buttonTitle isEqualToString:@"Maybe Later"]) {
        self.userOutput.text=@"Clicked 'Maybe Later'";
    } else if ([buttonTitle isEqualToString:@"Never"]) {
        self.userOutput.text=@"Clicked 'Never'";
    } else {
        self.userOutput.text=@"Clicked 'Ok'";
    }
    
    if ([alertView.title
         isEqualToString: @"Email Address"]) {
        self.userOutput.text=[[alertView textFieldAtIndex:0] text];
    }
}

 

获取提醒中文本框内容

if ([alertView.title
         isEqualToString: @"Email Address"]) {
        self.userOutput.text=[[alertView textFieldAtIndex:0] text];     //alertView textFieldAtIndex:0  //若只有一个文本框,则选中了那个文本框,发送消息text,则获得了用户输入的内容
    }


ActionSheet

要将相应创建的类的接口中遵守协议

@interface ViewController : UIViewController <UIAlertViewDelegate, UIActionSheetDelegate>   //此处是UIActionSheetDelegate

创建方法

- (IBAction)doActionSheet:(id)sender {
    UIActionSheet *actionSheet;                //触发相应操作后,执行actionSheet
    actionSheet=[[UIActionSheet alloc] initWithTitle:@"Available Actions"   //标题题目
                                  delegate:self
                         cancelButtonTitle:@"Cancel"          //指定操作表默认按钮标题
                    destructiveButtonTitle:@"Destroy"        //会以醒目红色提示,指定将导致信息丢失的按钮标题,如果NIL则不显示此按钮
                         otherButtonTitles:@"Negotiate",@"Compromise",nil];
    actionSheet.actionSheetStyle=UIActionSheetStyleBlackTranslucent;       //半透明样式
    [actionSheet showFromRect:[(UIButton *)sender frame]     //这一段是针对IPAD的
                       inView:self.view animated:YES];
//    [actionSheet showInView:self.view];
}

响应操作表

- (void)actionSheet:(UIActionSheet *)actionSheet            //传入按了按钮的索引
        clickedButtonAtIndex:(NSInteger)buttonIndex {
    NSString *buttonTitle=[actionSheet buttonTitleAtIndex:buttonIndex];
    if ([buttonTitle isEqualToString:@"Destroy"]) {
        self.userOutput.text=@"Clicked 'Destroy'";
    } else if ([buttonTitle isEqualToString:@"Negotiate"]) {
        self.userOutput.text=@"Clicked 'Negotiate'";
    } else if ([buttonTitle isEqualToString:@"Compromise"]) {
        self.userOutput.text=@"Clicked 'Compromise'";
    } else {
        self.userOutput.text=@"Clicked 'Cancel'";
    }
}


实现声音,震动

需要导入

#import <AudioToolbox/AudioToolbox.h>

实现

- (IBAction)doSound:(id)sender {
    SystemSoundID soundID;             //创建变量soundID它指向声音文件
    NSString *soundFile = [[NSBundle mainBundle]    //字符串变量soundFile  设置为soundeffect.wav的路径
                           pathForResource:@"soundeffect" ofType:@"wav"];
    
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)             //使用函数创建SystemSoundID(表示文件soundeffext.wav)供播放声音函数使用
                                     [NSURL fileURLWithPath:soundFile]
                                     , &soundID);
    AudioServicesPlaySystemSound(soundID);          //使用函数AudioServicesPlaySystemSound播放声音
}

震动

实现

- (IBAction)doVibration:(id)sender {
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);     //只需要在播放声音的函数中使用变量kSystemSoundID_Vibrate就可播放震动
}

 

posted @ 2016-11-20 19:35  Ponytai1  阅读(128)  评论(0编辑  收藏  举报