我使用UIPasteboard该类来使用具有多个应用程序的数据.该文档说,卸载创建者应用程序时会删除持久性.我做两个应用程序,一个用于复制,另一个用于过去:
创作者应用:
-(IBAction)paste:(id)sender{
UIPasteboard* pb = [UIPasteboard pasteboardWithName:@"mytext" create:YES];
tv_pasting.text = pb.string;
}
Run Code Online (Sandbox Code Playgroud)
读者应用:
-(IBAction)copy:(id)sender{
UIPasteboard* pb = [UIPasteboard pasteboardWithName:@"mytext" create:YES];
pb.persistent = YES;
pb.string = tf_copy.text;
}
Run Code Online (Sandbox Code Playgroud)
我在我的第一个应用程序中进行了文本复制,我粘贴在我的第二个应用程序上,文本被复制,一切都很好.之后,我卸载了我的两个应用程序并重新安装了阅读器应用程序 我粘贴...并且旧版本仍然可用.为什么?
有谁知道更换旧的QTMovieCurrentSizeAttribute和 QTMovieSizeDidChangeNotification任务的正确方法?我正在尝试清除旧的弃用代码.
我发现这QTMovieNaturalSizeDidChangeNotification不是替代品QTMovieSizeDidChangeNotification.同样QTMovieNaturalSizeAttribute不是替代品QTMovieCurrentSizeAttribute.Natural Size指的QTMovie是原始分辨率,同时Current Size指的QTMovie是显示a的分辨率(这也可能是电影被解码的分辨率,可以从原生调整大小).例如,如果源是变形的或具有非方形像素,则s Natural和Current Sizes将不相同.在QuickTime 7 Player的Movie Inspector窗口中很容易看出差异.
就像我所知,QuickTime X允许多个视图相同QTMovie,因此Current Size需要用新的东西替换.(也许Current Size功能被移入QTMovieView?或解码器查询?)任何人都可以向我推荐新方式的文档或示例代码吗?
电影检查器窗口的任何示例代码已经更新以显示,Natural并且Current ('Actual') Sizes不使用已弃用的代码,这将是理想的.到目前为止,这一直非常令人困惑.
我有一个用Blender创建的简单骨架网格物体,我试图将其导出以便在OpenGL中渲染它.
我的问题是:为了分析网格(特别是骨架/骨骼)并在C/C++程序中渲染它,最简单的导出格式是什么?
我管理(没有太多问题)在网格中渲染对象,所以这不是问题.我搜索了很多,我尝试了不同的格式,但实际上我遇到了所有这些问题的困难..obj根据我的研究,使用它会很棒,它不支持骨骼.
因此,我应该使用什么格式(轻松)解析骨骼?
我想在一个按钮中添加一个按钮UITableViewCell.这是我的代码:`
if (indexPath.row==2) {
UIButton *scanQRCodeButton = [[UIButton alloc]init];
scanQRCodeButton.frame = CGRectMake(0.0f, 5.0f, 320.0f, 44.0f);
scanQRCodeButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
scanQRCodeButton.backgroundColor = [UIColor redColor];
[scanQRCodeButton setTitle:@"Hello" forState:UIControlStateNormal];
[cell addSubview:scanQRCodeButton];
}`
Run Code Online (Sandbox Code Playgroud)
现在,当我运行应用程序时,我只看到一个空行!有任何想法吗 ?
UITextField触摸默认类型时,我们的ios应用程序崩溃.有另一个uitextfield是numpad,它工作正常.
崩溃只发生在ios 5.0.1和ios 4.x上运行正常.
它UITextField是使用界面构建器创建的,我没有为它添加任何委托.
该项目是在4.0.2上创建的,我也在4.2上测试了同一个项目.
如果我创建一个新项目并且只是放入UITextField其中就没有问题.
不知何故,我的项目中的某些东西导致UITextField崩溃,我不知道如何调试它.
崩溃日志如下:
(gdb) bt
#0 0x33fa2fdc in CFRetain ()
#1 0x37991db6 in ___init_block_invoke_2 ()
#2 0x36c8e7ea in _dispatch_barrier_sync_f_invoke ()
#3 0x36c8e65a in dispatch_barrier_sync_f$VARIANT$up ()
#4 0x36c8e28e in dispatch_sync_f$VARIANT$up ()
#5 0x36c8e910 in dispatch_sync$VARIANT$up ()
#6 0x36c90576 in dispatch_once_f$VARIANT$up ()
#7 0x37992706 in CPLoggingAddCustomLogFile ()
#8 0x306ee658 in __MCLoggingInitialize_block_invoke_1 ()
#9 0x36c90576 in dispatch_once_f$VARIANT$up ()
#10 0x306ee6a4 in MCLoggingInitialize ()
#11 0x306ef060 in -[MCProfileConnection _init] ()
#12 …Run Code Online (Sandbox Code Playgroud) 如何在翻译过程中使用一组图像(即在img1和img2之间切换)更改myLayer.contents?谢谢!
UIImage *myImage = [UIImage imageNamed:@"img1.png"];
CALayer *myLayer = [CALayer layer];
myLayer.contents = (id)myImage.CGImage;
myLayer.Position = CGPointMake(0,0);
myLayer.Bounds=CGRectMake(0.0, 0.0, 50, 50);
[self.view.layer addSublayer:myLayer];
//translation1
CGPoint startPt = CGPointMake(10,10);
CGPoint endPt = CGPointMake(100,100);
CABasicAnimation *transl1 = [CABasicAnimation animationWithKeyPath:@"position"];
transl1.removedOnCompletion = FALSE;
transl1.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
transl1.fromValue = [NSValue valueWithCGPoint:startPt];
transl1.toValue = [NSValue valueWithCGPoint:endPt];
transl1.duration = 3;
transl1.fillMode = kCAFillModeForwards;
transl1.beginTime = 0;
[myLayer addAnimation: transl1 forKey: nil];
Run Code Online (Sandbox Code Playgroud) 我正在尝试减少我的应用程序中的内存泄漏,所以我使用仪器来查找所有泄漏.我设法删除了几乎所有的泄漏,除了一个非常烦人的泄漏.
仪器告诉我,我有很多NSPlaceholderstring泄漏.产生泄漏的代码(根据工具)是:
if (nil == storedHash)
{
NSString *description = [[NSString alloc] initWithFormat:@"1 = %@ 2= %d", uId, service];
self.storedHash = description; // This line is the leak according to instruments
[description release];
description = nil;
}
return storedHash
Run Code Online (Sandbox Code Playgroud)
storedHash定义如下:
@property(copy) NSString* storedHash;
Run Code Online (Sandbox Code Playgroud)
我尝试了我能想到的一切:
以上都没有改变泄漏.(在某些情况下,泄漏的类型会发生变化,但仍然存在泄漏)
想法有人吗?
我在UINavigationController中进行了自定义转换,我使用的代码如下:
SecondView *newView = [[SecondView alloc] initWithNibName:nil bundle:nil];
[UIView beginAnimtaions:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown];
[self.navigationcontroller pushViewController:newView animated:NO];
[UIView commitAntimations];
[newView release];
Run Code Online (Sandbox Code Playgroud)
但是这个过渡动画仅适用于Forward,我可以在Back上应用它吗?
谢谢
是否可以创建如下图所示的两个按钮?看起来你应该使用UIButton或UIImageView但是如果我点击区域1,它仍然可以点击按钮1.当我点击区域1时,按钮2应该被触发!

我正面临一个(奇怪的)问题:我想检索一个联系人的电话号码,但由于某种原因,我无法这样做.
我用了
ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *contacts = (NSArray*) ABAddressBookCopyArrayOfAllPeople(addressBook);
CFRelease(addressBook);
Run Code Online (Sandbox Code Playgroud)
获取所有联系人的数组.然后我想用
ABMultiValueRef ref = ABRecordCopyValue([contacts objectAtIndex:i], kABPersonPhoneProperty);
NSLog(@"%d",ref==NULL);
Run Code Online (Sandbox Code Playgroud)
但ABRecordCopyValue总是返回nil...
请注意,我能够检索有关联系人的其他信息:例如,提取名称可以正常使用
CFStringRef name = ABRecordCopyCompositeName([contacts objectAtIndex:i]);
Run Code Online (Sandbox Code Playgroud)
愿有人向我解释我做错了什么吗?我正在使用Snow Leopard和Xcode 4.2,我正在为iOS 4.0开发......
编辑:我找到了一个解决方案:而不是使用
ABRecordCopyValue([contacts objectAtIndex:i], kABPersonPhoneProperty);
Run Code Online (Sandbox Code Playgroud)
我用了
ABRecordID idRec = ABRecordGetRecordID([contacts objectAtIndex:i]);
ABMultiValueRef ref = ABRecordCopyValue(ABAddressBookGetPersonWithRecordID(addressBook, idRec), kABPersonPhoneProperty);
Run Code Online (Sandbox Code Playgroud)
但是我必须保持对addressBook(不要释放它)的引用有效,因此EricS建议的解决方案似乎更好.
objective-c ×7
ios ×5
iphone ×3
blender ×1
button ×1
cocoa ×1
crash ×1
geometry ×1
graphics ×1
instruments ×1
memory-leaks ×1
qtkit ×1
quicktime ×1
transactions ×1
uibutton ×1
uipasteboard ×1
uitableview ×1
uitextfield ×1