iOS 위챗 모방 흔들기 기능 구현
6806 단어 iOS
1. 설명은 하나의 인터페이스를 만들어야 한다. 위챗을 본떠서 흔들고 인터페이스를 가져와 출석 기능을 한다.먼저 다음과 같은 몇 가지를 명확히 한다. 1. 진동이 필요하다.2. 소리가 필요합니다.(mp3 사운드 준비) 2. 여기에 코드를 직접 붙인다.
/ Created by on 16/7/29.
// Copyright © 2016 . All rights reserved.
//
#import "SignBoardViewController.h"
#import
#import
#import
@interface SignBoardViewController ()
{
}
@property (nonatomic,strong) AVAudioPlayer * audioPlayer;
@end
@implementation SignBoardViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
//
[self makeNav];
}
#pragma mark Nav
- (void)makeNav
{
[self.navigationItem setTitle:@" "];// title
// ,
self.leftButton.frame = CGRectMake(0, 0, 13, 20);
[self.leftButton setBackgroundImage:[UIImage imageNamed:@"NavBack"] forState:UIControlStateNormal];
self.leftButton.layer.cornerRadius = 0;
self.leftButton.layer.masksToBounds = NO;
self.leftButton.layer.borderColor = [UIColor clearColor].CGColor;
//
[self.leftButton addTarget:self action:@selector(navLeftClick) forControlEvents:UIControlEventTouchUpInside];
//
self.rightButton.hidden= YES;
}
#pragma mark nav ,
- (void)navLeftClick
{
[self dismissViewControllerAnimated:YES completion:^{
nil;
}];
}
#pragma mark -
#pragma mark
- (void)touchesBegan:(nonnull NSSet *)touches withEvent:(nullable UIEvent *)event
{
NSLog(@" , ");
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
#pragma mark -
#pragma mark
- (void)motionBegan:(UIEventSubtype)motion withEvent:(nullable UIEvent *)event
{
NSLog(@"begin motion");
}
#pragma mark -
#pragma mark
- (void)motionEnded:(UIEventSubtype)motion withEvent:(nullable UIEvent *)event
{
NSLog(@"end motion");
if (motion ==UIEventSubtypeMotionShake )
{
//
SystemSoundID soundID; // shake_sound_male.mp3
NSString *path = [[NSBundle mainBundle ] pathForResource:@"shake_sound_male" ofType:@"mp3"];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path], &soundID);
AudioServicesPlaySystemSound (soundID);
//
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
}
#pragma mark -
#pragma mark
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
View의 레이아웃 방법을 AutoLayout에서 따뜻한 손 계산으로 하면 성능이 9.26배로 된 이야기이 기사는 의 15 일째 기사입니다. 어제는 에서 이었습니다. 손 계산을 권하는 의도는 없고, 특수한 상황하에서 계측한 내용입니다 화면 높이의 10 배 정도의 contentView가있는 UIScrollView 레이아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.