[更新]
按照建议,我更改了所有父视图控制器以支持所有方向.我的app结构如下:AppDelegate> RootViewController> Videos> VideoDetails> MPMoviePlayerViewController.
如果我改变所有这些以支持所有方向,视频将在风景中播放.但支持所有方向并不是我想要的,并导致其他问题.还有其他工作或我可以做的其他事情吗?
谢谢
[/更新]
我有一个基于肖像的iPhone应用程序,它使用MPMoviePlayerViewController的自定义子类显示视频.当用户按下播放时,我创建了这个类的实例,并按模式呈现它,如下所示:
- (IBAction) playPressed:(id)sender {
NSString *filepath = [[NSBundle mainBundle] pathForResource:self.currentVideoModel.videoFileName ofType:@"m4v"];
NSURL *fileURL = [NSURL fileURLWithPath:filepath];
// MovieViewController is just a simple subclass of MPMoviePlayerViewController
self.moviePlayerController = [[MovieViewController alloc] initWithContentURL:fileURL];
// full screen code.
[self.moviePlayerController.moviePlayer setScalingMode:MPMovieScalingModeFill];
[self.moviePlayerController.moviePlayer setFullscreen:TRUE];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlaybackComplete:) name:MPMoviePlayerPlaybackDidFinishNotification object:self.moviePlayerController];
[self presentMoviePlayerViewControllerAnimated:self.moviePlayerController];
}
Run Code Online (Sandbox Code Playgroud)
问题是它在纵向上播放得很好但是当我将iPhone转为横向时,视频仍然以纵向而非横向播放:(应用中的所有视图控制器仅支持纵向.
我的MPMoviePlayerViewController子类只覆盖以下方法以允许方向更改,但它没有任何影响:
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return (toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight || toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
Run Code Online (Sandbox Code Playgroud)
我甚至尝试以编程方式旋转视频,但绝对没有运气,它始终保持纵向模式.
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation …Run Code Online (Sandbox Code Playgroud) iphone movie mpmovieplayercontroller orientation screen-orientation
我必须将a的标签UISwitch从ON-OFF更改为YES-NO.
我希望这个方法在单独的类中实现,然后由其他类访问.
我试图实现烹饪书中提供的片段,但没有成功
我有一个应用程序,底部有一个可拖动的UIView.可拖动的视图不完全在屏幕外,并且具有用户可以向上或向下拖动的"拉片".向上和向下拖动当前有效,但我想给它与Apple通知滑出抽屉相同的行为.
例如,如果我将视图向上拖出50%并从屏幕上移开我的手指,那么我希望可拖动的视图继续向上移动.同样,如果用户仅将视图拖出,例如向上30%,则视图应该回落到其默认位置.
理想情况下,虽然我可以上下拖动,但动作并非"有机"......
现在,我正在通过UIPanGestureRecognizer完成向上和向下拖动,以防万一与问题相关.
它是否可能与可拖动视图的Y位置的某些聪明的数学有关,然后用一些CAAnimations进行其余的移动?
可视化可能有点困难,所以我在下面添加了一些屏幕.
谢谢!
iphone core-animation draggable uiview uipangesturerecognizer
我的UIView顶部有一个标签.我在计时器的帮助下通过数组显示一些消息.但现在我希望这些消息以MARQUEE风格显示.我没有任何办法开始.任何方法源代码,使用方法,任何动画风格,任何不同的方法.提前致谢
遇到MFMessageComposeViewController问题.情况是这样的:
我正在创建一个模型,它将实现MFMessageComposeViewController而不是直接在ViewController中执行它.现在,当我实现presentModalViewController ::方法时,它工作正常(出现mail.app接口)但是当我单击mail.app界面中的取消/发送按钮时,它不会忽略mail.app ..
它像这样的东西:
MSGViewController的一个方法片段,它实现了发送邮件模型:
- (IBAction)openEmail:(id)sender {
Messaging *mail = [[Messaging alloc]initWithModal:self];
[mail emailInvitation:@"Eventz Date" eventAt:@"Eventz Location" withImage:nil];
[self.sendingStatus setText:mail.sendingStatus];
}
Run Code Online (Sandbox Code Playgroud)
我实现消息传递的模型:
Messaging.h
#import <Foundation/Foundation.h>
#import <MessageUI/MessageUI.h>
@interface Messaging : NSObject <MFMailComposeViewControllerDelegate, MFMessageComposeViewControllerDelegate>
@property (nonatomic, copy) NSString *sendingStatus;
@property (nonatomic, retain) id modal;
- (id)initWithModal:(id)modal;
- (void)emailInvitation:(NSString *)eventDate eventAt:(NSString *)eventLocation withImage:(UIImage *)imageAttachment;
@end
Run Code Online (Sandbox Code Playgroud)
Messaging.m
#import "Messaging.h"
@implementation Messaging
@synthesize sendingStatus = _sendingStatus;
@synthesize modal = _modal;
- (id)initWithModal:(id)modal{
self = [super init];
self.modal = modal;
return self;
} …Run Code Online (Sandbox Code Playgroud) 我正在研究基于时间的提醒应用程序.其中用户输入他的提醒和提醒时间.问题是如何连续比较当前时间和用户定义的时间.任何示例代码都会有很大帮助.因为我坚持这一点.
iphone ×5
ios ×2
objective-c ×2
xcode ×2
draggable ×1
mfmailcomposeviewcontroller ×1
movie ×1
nsdate ×1
orientation ×1
uiview ×1