我确定这是一个非常基本的问题,但我无法找到任何相关信息.
说我的应用程序在一个文件夹中,在一些更多的文件夹中,如下所示:
然后,我想要做的是访问"MainFolder"中的文件.我知道我可以通过以下方式获得AppBundle的路径:
NSLog(@"%@",[[NSBundle mainBundle] resourcePath]);
我不确定的是如何获得"MainFolder"的路径.
任何指针都会很棒!
谢谢,汤姆
我看了一下这个问题:UIImage Shadow Trouble
但接受的答案对我不起作用.
我正在尝试做的是采用UIImage并为其添加阴影,然后返回一个全新的UIImage,阴影和所有.
这就是我正在尝试的:
- (UIImage*)imageWithShadow {
CGColorSpaceRef colourSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef shadowContext = CGBitmapContextCreate(NULL, self.size.width, self.size.height + 1, CGImageGetBitsPerComponent(self.CGImage), 0,
colourSpace, kCGImageAlphaPremultipliedLast);
CGColorSpaceRelease(colourSpace);
CGContextSetShadow(shadowContext, CGSizeMake(0, -1), 1);
CGContextDrawImage(shadowContext, CGRectMake(0, 0, self.size.width, self.size.height), self.CGImage);
CGImageRef shadowedCGImage = CGBitmapContextCreateImage(shadowContext);
CGContextRelease(shadowContext);
UIImage * shadowedImage = [UIImage imageWithCGImage:shadowedCGImage];
CGImageRelease(shadowedCGImage);
return shadowedImage;
}
Run Code Online (Sandbox Code Playgroud)
结果是我得到了与之前通过此方法完全相同的图像.
我这样做是正确的,或者有什么明显的东西我不见了?
我正在使用一个使用UITextView的应用程序.
UITextView应该增大或缩小以适合其文本,包括垂直和水平.为此,我在子类中重写sizeToFit,并设置边界,如下所示:
- (void)sizeToFit {
[self setBounds:(CGRect){.size = self.attributedText.size}];
}
Run Code Online (Sandbox Code Playgroud)
问题是这个大小只是没有反映字符串的正确大小,因为UITextView会剪切文本.我将边缘插入设置为零,所以这不应该是一个问题吧?
在这一点上,我认为这是NSAttributedString的size属性的一个错误,但是如果我使用boundingRectWithSize,则会发生同样的事情:options:context:
[self setBounds:(CGRect){.size = [self.attributedText boundingRectWithSize:CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX) options:0 context:nil].size}];
Run Code Online (Sandbox Code Playgroud)
因此,无论代码是什么,NSAttributedString的布局计算都无法与UITextView的布局计算很好地协作.
欢迎任何想法!
编辑:我还应该指出以下不起作用:
- (void)sizeToFit {
[self setBounds:(CGRect){.size = [self sizeThatFits:self.attributedText.size]}];
}
Run Code Online (Sandbox Code Playgroud) 我想知道如何在我的Mac上监控网络流量.就像活动监视器一样,显示字节/数据包的输入和输出.
我知道这有点模糊,但我不确定最好的起点.
编辑:我想在代码中执行此操作,而不是使用现有的软件.
默认情况下,当文本视图中的文本太多时,UITextView的contentView会变得可滚动.
我想禁用它,而是更新UITextView的高度以适应文本.我这样做的原因是因为我将UITextView添加为UIScrollView的子视图,它应该处理滚动,就像在本机Mail应用程序中一样(当你输入文本时,整个视图向上滚动,而不仅仅是textview .
任何人有一些想法/之前遇到过同样的问题?
我已经将UITextField子类化,并且我想使用类似于textField:shouldChangeCharactersInRange:replacementString:子类内部的方法来在键入字符时获得通知,并在必要时阻止更改,但是避免将字段委托给自己.
我发现如果我覆盖keyboardInput:shouldInsertText:isMarkedText:并且keyboardInputShouldDelete:我可以获得所需的效果,不幸的是这些方法是私有的,任何使用该类的东西都不会通过App Store提交过程.
任何人都知道一个公共方法实现同样的事情,并不要求该字段是自己的委托?
更新:
我接着建议创建一个单独的对象只是作为委托,它本身可以有一个委托来转发消息.
我最近才注意到,当一个对象尝试向其委托发送消息并且该委托已经被释放时,我的一个应用程序崩溃了.
目前,在调用任何委托方法之前,我运行此检查:
if (delegate && [delegate respondsToSelector:...]){
[delegate ...];
}
Run Code Online (Sandbox Code Playgroud)
但显然这并不能说明代表是否为零,但已被解除分配.
除了在委托dealloc方法中将对象的委托设置为nil之外,有没有办法检查委托是否已经被释放,因为我不再有对该对象的引用.
我试图CALayer在几微秒后隐藏a ,然后使用CABasicAnimation动画对隐藏进行动画处理。
目前,我正在尝试使用
[aLayer setHidden:YES];
CABasicAnimation * hideAnimation = [CABasicAnimation animationWithKeyPath:@"hidden"];
[hideAnimation setDuration:aDuration];
[hideAnimation setFromValue:[NSNumber numberWithBool:NO]];
[hideAnimation setToValue:[NSNumber numberWithBool:YES]];
[hideAnimation setBeginTime:0.09];
[hideAnimation setRemovedOnCompletion:NO];
[hideAnimation setDelegate:self];
[alayer addAnimation:hideAnimation forKey:@"hide"];
Run Code Online (Sandbox Code Playgroud)
但是,当我运行此命令时,该层将立即隐藏,而不是等待所需的beginTime。
我不确定我的keyPath是否为“隐藏”,但找不到其他任何选择,并且文档确实指出a的hidden属性CALayer是可动画的。
实现我正在寻找的正确方法是什么?
我正在使用以下代码循环播放iPhone音乐库中的所有歌曲:
NSArray * songs = [[NSArray alloc] initWithArray:[[MPMediaQuery songsQuery] collections]];
for (MPMediaItemCollection * item in songs){
NSString * persistentID = [[[item representativeItem] valueForProperty:MPMediaItemPropertyPersistentID] stringValue];
// Do something with it.
}
[songs release];
Run Code Online (Sandbox Code Playgroud)
很基本的东西.
我将PersistentID作为一个NSString因为我需要将其写入XML文件(通过网络传输到另一个设备).因此,我不能把它留作一个NSNumber.
然后另一个设备将通过再次发送PersistentID来要求iPhone播放曲目.
此时,iPhone有一个NSString应该播放的轨道的PersistentID.
再次循环播放每首歌曲并比较PersistentID直到我找到我想要的曲目将会很简洁,所以我试图用MPMediaPropertyPredicateiPhone来搜索我.
我正在使用以下代码进行搜索:
MPMediaPropertyPredicate * predicate = [MPMediaPropertyPredicate predicateWithValue:persistentID forProperty:MPMediaItemPropertyPersistentID];
MPMediaQuery * songsQuery = [[MPMediaQuery alloc] init];
[songsQuery addFilterPredicate:predicate];
if ([[songsQuery items] count]){
MPMediaItem * item = [[songsQuery items] objectAtIndex:0];
// Play item.
}
[songsQuery release];
Run Code Online (Sandbox Code Playgroud)
哪里 …
我正在攻击需要RSA加密的东西,我有一些看起来像这样的代码:
- (NSData *)RSAEncryptData:(NSData *)data {
NSMutableData * encrypted = [NSMutableData dataWithLength:256];
RSA * rsa = RSA_new();
rsa->n = BN_bin2bn(modulus.bytes, modulus.length, NULL);
rsa->e = BN_bin2bn(exponent.bytes, exponent.length, NULL);
RSA_public_encrypt(data.length, data.bytes, encrypted.mutableBytes, rsa, RSA_PKCS1_OAEP_PADDING);
RSA_free(rsa);
return encrypted;
}
Run Code Online (Sandbox Code Playgroud)
模数和指数是NSData对象.
这很好用,除了所有RSA方法之外,编译器还在抱怨我们在Mac OS 10.7上如何弃用它们.
我应该采用更现代的方式吗?我已经谷歌搜索了几个小时,只能找到Mac上没有的iOS东西(SecKeyEncrypt等).
要绝对清楚,我不是在寻找iOS解决方案,我正在寻找Mac OS.
我知道iOS文件名区分大小写,而OSX文件名可能不区分大小写.Apple的iCloud设计指南说:
"要使文档文件格式跨平台兼容,您必须以不区分大小写的方式读写文件." (来自http://developer.apple.com/library/ios/#documentation/General/Conceptual/iCloudDesignGuide/Chapters/DesigningForDocumentsIniCloud.html)
我想让我的应用程序的文件管理在iOS中不区分大小写.处理读写文件的正确方法是什么,并且[NSFileManager fileExistsAtPath:]在iCloud和本地文件系统中以不区分大小写的方式检查iOS中是否存在(使用)文件?
我试图动画一个滑入视图的视图,一旦它碰到屏幕的一侧就弹跳.
我正在做的幻灯片的基本示例如下:
// The view is added with a rect making it off screen.
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.07];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[theView setFrame:CGRectMake(-5, 0, theView.frame.size.width, theView.frame.size.height)];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
然后在didStopSelector中调用更多动画以产生反弹效果.问题是当多个视图被动画化时,弹跳变得不稳定,而且,不再反弹.
在我开始阅读Core Animation中如何做到这一点之前(我明白它有点困难)我想知道使用Core Animation而不是UIView动画是否真的有优势.如果没有,我可以采取哪些措施来提高性能?
objective-c ×10
iphone ×5
cocoa ×4
cocoa-touch ×4
ios ×3
delegates ×2
uitextview ×2
calayer ×1
cgcontext ×1
directory ×1
encryption ×1
file-io ×1
macos ×1
monitor ×1
mpmediaquery ×1
networking ×1
nsbundle ×1
path ×1
rsa ×1
subview ×1
traffic ×1
uiimage ×1
uikit ×1
uiscrollview ×1
uitextfield ×1
uiview ×1