我有一些问题。我是Objective-c和Xcode开发的新手。
我的问题如下: 我有一个带有IBActions(cambia视图)和Outlet(gioca_outlet)的按钮 此按钮通过"显示"连接到另一个视图,因此当我按下一个视图时出现。
但是,在更改视图之前,我想使用具有自己图像的按钮提交动画。
我想缩放按钮的图像尺寸(保持相同的中心)1/2秒,然后显示第二个视图。 当我跳回主视图时,我也希望按钮的大小是最初的尺寸。
所以,我想出了这段代码:
- (IBAction)cambiaview:(id)sender {
[UIView animateWithDuration:2.0 delay:0.4 options:UIViewAnimationOptionTransitionCrossDissolve animations:{
[_gioca_outlet setCenter:CGPointMake([_gioca_outlet.center].x + 0.0001, [_gioca_outlet.center].y +0.0001)];
[_gioca_outlet setTransform:CGAffineTransformScale(_gioca_outlet.transform, 2.0, 2.0)];}
completion:^(BOOL finished) {
};
}
返回按钮,返回主视图:
- (IBAction)back:(id)sender {
[self dismissViewControllerAnimated:YES completion:^{ //
}];
}
感谢。
答案 0 :(得分:0)
打开Interface Builder并删除两个视图控制器之间的所有现有连接。
然后按Ctrl +从第一个视图控制器拖动到第二个视图控制器并选择"显示"选项。 step 1
然后点击创建的连接(它被称为segue),切换到属性检查器并为其指定一个ID step 2
在动画的完成块中写下// Create the new dictionary that will be inserted into the plist.
NSMutableDictionary *nameDictionary = [NSMutableDictionary dictionary];
[nameDictionary setValue:@"FirstName LastName" forKey:@"fullName"];
[nameDictionary setValue:@"123 North Rd" forKey:@"address"];
// Open the plist from the filesystem.
NSMutableArray *plist = [NSMutableArray arrayWithContentsOfFile:@"/path/to/file.plist"];
if (plist == nil) plist = [NSMutableArray array];
[plist addObject:nameDictionary];
[plist writeToFile:@"/path/to/file.plist" atomically:YES];
答案 1 :(得分:0)
您已将button
的操作segue与第二个视图相关联,因此只要您点击该按钮,就会显示下一个视图。相反,您将viewcontroller1
中的segue连接到viewcontroller2
,并为segue
提供标识符。
然后在button
的点击事件中添加此代码。
- (IBAction)cambiaview:(id)sender
[UIView animateWithDuration:0.8 animations:^{
//this will transform your button to grow a little bit bigger
_gioca_outlet.transform = CGAffineTransformMakeScale(1.5, 1.5);
}completion:^(BOOL finished) {
//push from viewcontroller1 to viewcontroller2 using you segue identifier
[self performSegueWithIdentifier:@"vc1tovc2segue" sender:self]
}];
此代码将使您的按钮动画更大,然后推送到第二个视图控制器。
现在,如果您想播放音频,可以使用viewDidLoad
框架在第二个视图控制器的AVFoundation
方法中播放。
要播放声音文件,请执行以下操作:
在项目目录中添加声音文件。
通过编写
来导入AVFoundation
框架
#import <AVFoundation/AVFoundation.h>
在AVAudioPlayer
的.h中创建viewcontroller2
的强大属性。
@property (strong, nonatomic) AVAudioPlayer *player;
然后在viewcontroller2
的{{1}}中添加此代码以播放音频文件,
viewDidLoad
要在返回第一个视图控制器时使按钮的大小正常,请在第一个视图控制器中添加此代码:
- (void)viewDidLoad {
[super viewDidLoad];
//SampleAudio is your audio file name and mp3 is your extension.
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"SampleAudio" ofType:@"mp3"];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
self.player.delegate = self;
[self.player play];
}
希望这会有所帮助。 如果您在理解任何问题时遇到任何问题,请随时发表评论。 :)