.gitignore将Git与Xcode结合使用时,我应该包含哪些文件?
我一直在尝试制作一个将视频与动画对象连接起来的概念验证(实际上,我是将用户选择的位图"旋转"到特定位置的固定视频上).在观看了有关Core Animation(WWDC10等)和AVSync..Layer(Apple WWDC10示例代码,doc示例代码)的所有可用Apple资料后,根本没有足够明确的隔离代码示例来推导如何实现此正确播放模式.
使用CA,我有一个加载到CALayer中的视频资源,以及一个附加到位图的动画,然后连接到另一个CALayer.我创建了一个AVSynchronizedLayer并将这两个对象添加为子层.
当这个树被添加到UIView的图层属性时,我期望动画的播放与视频同步运行.相反,我只看到视频播放,动画永远不会执行 - 这里是我的代码的相关部分,它们都位于一个View Controller中(在ViewDidLoad中调用).
Video101.m4v =简单的m4v视频,gerald.png =位图
NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"Video101" withExtension:@"m4v"];
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:fileURL options:nil];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset];
AVPlayer *player = [[AVPlayer playerWithPlayerItem:playerItem]retain];
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
playerLayer.frame = CGRectMake(0, 0, 1024, 768);
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
CALayer *gerald = [CALayer layer];
gerald.frame = CGRectMake(0, 0, 120, 120);
gerald.contents = (id) [UIImage imageNamed:@"gerald.png"].CGImage;
[self.view.layer addSublayer:playerLayer];
[self.view.layer insertSublayer:gerald above:playerLayer];
CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
anim.duration = 18.0;
anim.values = [NSArray …Run Code Online (Sandbox Code Playgroud) 我刚刚将设备更新到iOS 4.3.3.在iOS更新后第一次插入iPhone4时,Xcode 4会自动更新.
运行我的项目时,我现在收到警告:
警告:无法读取/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.3.3(8J2)/Symbols/System/Library/AccessibilityBundles/AccessibilitySettingsLoader.bundle/AccessibilitySettingsLoader(未找到文件)的符号.
为什么我会收到此警告以及如何解决此问题?
您何时建议使用插件将自定义视图集成到Interface Builder中?浏览Apple的Interface Builder插件编程指南时,我发现:
- 您的自定义对象是否仅由一个应用程序使用?
- 您的自定义对象是否依赖于仅在应用程序中找到的状态信息?
- 将自定义视图封装在独立的库或框架中会有问题吗?
如果您对上述任何问题的回答都是肯定的,那么您的对象可能不适合插件.
这回答了我的一些问题,但我仍然希望你的想法何时是一个好主意.有什么好处,有多大的时间投资呢?
我在我的应用程序中使用pageControl.当点击视图正在改变时,ViewCon在点击点上没有改变,但是在pageControl的任一端.我希望他们改变点击点击.该怎么办?我需要实施任何方法吗?
这是守则
#import "ScrollingViewController.h"
@implementation ScrollingViewController
@synthesize scrollView;
@synthesize pageControl;
- (void)viewDidLoad
{
[super viewDidLoad];
[self setupPage];
pageControl =[[UIPageControl alloc] initWithFrame:CGRectMake(0,390,320,100)];
pageControl.userInteractionEnabled =YES;
pageControl.numberOfPages = 5;
pageControl.currentPage = 0;
[self.pageControl setBackgroundColor:[UIColor blackColor]];
pageControl.enabled = TRUE;
[pageControl setHighlighted:YES];
[pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:pageControl];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
- (void)viewDidUnload
{
[scrollView release];
[pageControl release];
}
- (void)dealloc
{
[super dealloc];
}
- (void)setupPage
{
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,320,400)];
[scrollView setContentSize:CGSizeMake(1000, 800)];
//scrollView.contentSize = CGSizeMake(1000,800);
scrollView.scrollsToTop = …Run Code Online (Sandbox Code Playgroud) 在暂停时阅读演示文稿位置是否存在问题?
我想暂停并恢复一个CALayer.一旦CALayer暂停,我想用它的当前演示位置更新图层的位置.当我尝试这样做时,一旦我恢复图层,图层会稍微闪烁.
这是我用来暂停和恢复的代码CALayer(基于Apple提供的技术问答QA1673):
CFTimeInterval pausedTime;
void pauseLayer(CALayer *layer)
{
pausedTime = [layer convertTime:CACurrentMediaTime() fromLayer:nil];
layer.speed = 0.0;
layer.timeOffset = pausedTime;
layer.beginTime = 0;
// layer.position = ((CALayer*)[layer presentationLayer]).position;
}
void resumeLayer(CALayer *layer)
{
layer.speed = 1.0;
layer.timeOffset = 0.0;
layer.beginTime = 0.0;
CFTimeInterval _elapsedTimeSincePaused = [layer convertTime:CACurrentMediaTime() fromLayer:nil] - pausedTime;
layer.beginTime = _elapsedTimeSincePaused;
}
Run Code Online (Sandbox Code Playgroud)
如果我取消注释layer.position = ((CALayer*)[layer presentationLayer]).position;in pauseLayer,那么一旦我打电话,图层就会闪烁resumeLayer.
这是我的动画代码:
- (void) startAnimation:(id)sender
{
layer10Animation = [CABasicAnimation …Run Code Online (Sandbox Code Playgroud) 我有一个带有 NSImage 的菜单,显示一些信息,当它更新时,我希望新的(更新的)图像淡入。我知道这在 iPhone 上很容易,但这在 OS X 中可能吗?
是否有现成的ObjC解释器实现.基本上,我需要通过脚本语言扩展我的程序.
我不确定这是否已经由某种框架提供,或者我可能在内部实现AppleScript - 不知道我将如何做到这一点.它似乎只适用于自动化程序本身,而不是用于扩展自己的功能.
类似于mIRC与脚本语言接口的方法.
我正在尝试使用我的OS X桌面设置内部git服务器(主要作为测试用例).当涉及SSH密钥时,一切正常,但我目前正在尝试使用git-daemon进行只读克隆.如果我在终端中启动git-daemon:
sudo -u git git-daemon --basepath=/Users/git/repos/ --export-all
Run Code Online (Sandbox Code Playgroud)
然后一切正常,例如
git clone git://localhost/My_Project.git
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用launchd进行设置时,它会拒绝所有请求.我正在使用这个plist文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>git</string>
<key>UserName</key>
<string>git</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/path/to/git-daemon</string>
<string>--base-path=/Users/git/repos/</string>
<string>--export-all</string>
</array>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
如果我尝试克隆My_Project,则会收到以下错误:
Cloning into My_Project...
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
令人沮丧的是,我相信这曾经有用,所以问题可能与我的plist文件或者launchd的使用关系不大,而且更多的是做任何可能已经改变的网络设置.任何建议将不胜感激.
抱歉,如果这更像是一个系统管理员问题,但我认为开发人员可能会有一些经验.
更新:如果存在repo,控制台将报告以下错误:
git[431]
error: cannot run upload-pack: No such file or directory
Run Code Online (Sandbox Code Playgroud) 我有从移动数组中删除重复对象的问题.我已经尝试了这些:
noDuplicates = _personalHistory.personalHistory;
for (int i=[noDuplicates count]-1; i>0; i--) {
if ([noDuplicates indexOfObject: [noDuplicates objectAtIndex: i]]<i)
[noDuplicates removeObjectAtIndex: i];
}
for (PersonalHistory_artikels *e in _personalHistory.personalHistory) {
if (![noDuplicates containsObject:e]) {
NSLog(@"Dubplicates");
[noDuplicates addObject:e];
}
}
for (i=0; i<_personalHistory.personalHistory.count; i++) {
PersonalHistory_artikels *test = [_personalHistory.personalHistory objectAtIndex:i];
for (j=0; j<_personalHistory.personalHistory.count; j++) {
PersonalHistory_artikels *test2 = [_personalHistory.personalHistory objectAtIndex:j];
if (! [test.nieuwsTITLE_personal isEqual:test2.nieuwsTITLE_personal]) {
NSLog(@"Add test = %@", test.nieuwsTITLE_personal);
[noDuplicates addObject:test];
}
}
}
Run Code Online (Sandbox Code Playgroud)
但上面没有一个给我正确的阵列.最后一个是最好的,但它仍显示重复值.有人可以帮我解决这个问题吗?非常感谢你.
我有一张带有5张照片的NSArray.我想在循环中一个接一个地显示它们.我的代码:
NSArray *tabImage = [[NSArray alloc] init];
tabImage = [[NSArray arrayWithObjects:
[UIImage imageNamed:@"picto_1.png"],
[UIImage imageNamed:@"picto_2.png"],
[UIImage imageNamed:@"picto_3.png"],
[UIImage imageNamed:@"picto_4.png"],
[UIImage imageNamed:@"picto_5.png"],
nil] retain];
int var = 0;
var = indexPath.row;
for (int var = 0; var < 20; var++) {
pictoImage.image = [tabImage objectAtIndex:(var % 5)];
}
Run Code Online (Sandbox Code Playgroud)
我一直都有同样的照片.
感谢帮助.
> .h file:
NSString *myString;
@property (nonatomic, retain) NSString *myString;
> .m file:
self.myString = [[NSString alloc] init];
Run Code Online (Sandbox Code Playgroud)
如果我没有错,我将得到一个保留计数为+2的NSString实例.对?
我很好奇,因为Apple的位置示例使用"自我".用于初始化.为什么?我检查了它确实显示保留计数为+2.
objective-c ×7
macos ×5
cocoa ×4
cocoa-touch ×4
iphone ×4
ios ×3
xcode ×3
animation ×2
git ×2
calayer ×1
git-daemon ×1
gitignore ×1
interpreter ×1
launchd ×1
nsimage ×1
sync ×1
uiimage ×1
uiscrollview ×1
video ×1