我正在尝试使用UITableViewCell设置为样式的自定义子类UITableViewCellStyleSubtitle并将其与之一起使用registerClass:forCellReuseIdentifier:.但是,我不知道该怎么做.
我的想法是覆盖init方法和调用
self = [super initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:myReuseIdentifier];
Run Code Online (Sandbox Code Playgroud)
在其中.但是,我无法弄清楚init调用哪个方法(或者这是否是正确的方法.)
我试图拦截所有以下的init方法,但在出列单元格时它们似乎都不正确:
initinitWithCoderinitWithFrame我已经确认dequeueReusableCellWithIdentifier:forIndexPath:返回了一个正确类型的单元格,所以我知道它正在被创建.我只是不知道init调用哪个方法所以我无法设置默认样式.
所以我想检查我的数组中的项目[clientDataArray objectForKey:@"ClientCompany"]是否是nil.
temp = [clientDataArray objectForKey:@"ClientCompany"];
if (temp != [NSNull null]) infofieldCompany.text = temp;
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经能够通过上面的代码实现这一点,但它确实给了我警告
NSArray可能无法回应-objectForKey:struct NSNull *
并且struct NSString *没有强制转换我的主要兴趣是第二次警告,但第一次警告也让我感兴趣.我该如何调整上面的代码?
我尝试分别使用AVAudioSession和AVAudioPlayer录制和播放声音,但音量非常低.
我尝试将音量值设置AVAudioPlayer为1.0或更高,但没有多大帮助.
还有什么可以录制可以播放的声音?
我正在尝试创建一个自定义UIView,从nib文件中引入它的视图.
在我的控制器中我有类似的东西:
self.arcView=[[JtView alloc] initWithCoder:self];
self.arcView.backgroundColor=[UIColor redColor];
self.arcView.frame=CGRectMake(30.0f,200.0f, 100.0f, 100.0f);
[self.view addSubview:self.arcView];
Run Code Online (Sandbox Code Playgroud)
我的第一个问题是应该进入论证的内容initWithCoder (NSCoder *)?我试过自己,但得到了一个不兼容的指针类型,但这似乎工作.但问题#2:
其次,说法是,你用initWithCoder用nibs,并initWithFrame把您的自定义视图帧时.好吧,我想nib在我的自定义视图中加载一个然后将其放入框架中.我可以像上面一样添加一个框架,它没问题(它看起来像是有效的)?
我正在创建一个应用程序,我试图获取当前触摸点的颜色,如果这个点不是黑色,那么它将运行迭代/递归并将所有非黑点存储在数组中.我正在使用此函数进行迭代:
-(void)function:(CGFloat)positiveX:(CGFloat)positiveY:(CGFloat)negativeX:(CGFloat)negativeY
{
if (canDoPositiveX == YES)
{
//Checking in positive
if (![[NSString stringWithFormat:@"%@",[self colorOfPoint:CGPointMake(positiveX, positiveY)]] isEqualToString:@"UIDeviceRGBColorSpace 0 0 0 1"])
{
CGPoint point = CGPointMake(positiveX, positiveY);
[array addObject:[NSValue valueWithCGPoint:point]];
[self function:positiveX+1 :positiveY :negativeX :negativeY];
}
else
{
canDoPositiveX = NO;
}
}
if (canDoPositiveY == YES)
{
//Checking in positive
if (![[NSString stringWithFormat:@"%@",[self colorOfPoint:CGPointMake(positiveX, positiveY)]] isEqualToString:@"UIDeviceRGBColorSpace 0 0 0 0"])
{
CGPoint point = CGPointMake(positiveX, positiveY);
[array addObject:[NSValue valueWithCGPoint:point]];
[self function:positiveX :positiveY+1 :negativeX :negativeY];
}
else
{
canDoPositiveY = …Run Code Online (Sandbox Code Playgroud) 如果我添加一个UILongPressGestureRecognizer对象是否有一种方法可以touchesMoved在我的longGesture选择器响应longpress手势而不必先抬起手指后触发该对象中的事件?
我所看到的是,一旦选择器识别出长手势,touchesMoved事件将不会响应,直到您将手指从对象上移开.换句话说,你不能按,暂停,移动.
这甚至可以通过手势识别器实现,也可以通过点击并按住方法实现此目的.
我希望这是有道理的.
谢谢.
我试图通过MPMoviePlayerController播放存储在我的应用程序文档目录中的视频.我使用以下方法播放视频:
NSArray *directoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDir = [directoryPath objectAtIndex:0];
int videoNumber = (int)[[NSUserDefaults standardUserDefaults] integerForKey:@"videoSaved"];
NSString* videoName = [NSString stringWithFormat:@"video-%d.mov",videoNumber];
NSString *exportPath = [docsDir stringByAppendingPathComponent:videoName];
NSURL *exportUrl = [NSURL fileURLWithPath:exportPath isDirectory:NO];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:exportUrl];
moviePlayer.fullscreen = YES;
moviePlayer.view.frame = self.view.bounds;
[self.view addSubview:moviePlayer.view];
[moviePlayer prepareToPlay];
[moviePlayer play];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(movieDidExitFullscreen:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];
Run Code Online (Sandbox Code Playgroud)
它适用于除iOS7以外的所有iOS版本.在iOS7中,当我尝试播放视频时,我发现了这个错误:
_itemFailedToPlayToEnd: { kind = 1; new = 2; old = 0;}
Run Code Online (Sandbox Code Playgroud) 我有一个UITableView(碰巧有一个UISearchBar),似乎无法弄清楚如何摆脱它上面的白色/灰色边框.我需要UISearchBar在它上面的黑色和黑色之间有无缝的黑色.
我试图隐藏它UISearchBar以查看它是否与它有任何关系,但该线仍然出现.
有任何想法吗?

由于某种原因,我无法两个动画两个子视图postion.我写了以下内容
[self addChildViewController:self.photosViewController];
[self.photosViewController.view setFrame:CGRectMake(0, -self.view.frame.size.height, self.view.frame.size.width, self.view.frame.size.height)];
[self.view addSubview:self.photosViewController.view];
[UIView animateWithDuration:1 delay:0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
[self.stepsView setFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, self.view.frame.size.height)];
[self.photosViewController.view setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
}
completion:^(BOOL finished) {
if (finished) {
button.tag = 0;
}
}];
Run Code Online (Sandbox Code Playgroud)
self.stepsView是一个IBOutlet UIView并且self.photosViewController.view是已添加到视图的子视图控制器视图.
目前的代码只有self.PhotosViewController.view动画.但是,如果我注释掉我添加子视图控制器视图的行,subview那么self.stepsView动画正确.
即使我在调用此方法之前添加了子视图控制器及其视图,也会发生相同的错误.
需要帮助,因为我用另一个应用程序跑了几个月,不得不做一个肮脏的黑客来绕过它,现在想解决这个问题.
谢谢
我试图将文件从一个文件夹复制到文档目录中的另一个文件夹,如下所示:
- (void)saveFile:(NSString *)folderPath
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"destination.png"];
NSError *error = nil;
NSString *srcPath = [folderPath stringByAppendingPathComponent:@"filename.png"];
BOOL success = [[NSFileManager defaultManager] copyItemAtPath:srcPath toPath:documentsDirectory error:&error];
if (error)
{
NSLog(@"%@",error);
}
if (success == YES)
{
NSLog(@"Copied");
}
else
{
NSLog(@"Not Copied");
}
}
Run Code Online (Sandbox Code Playgroud)
当我记录错误时,它给我以下消息:
Error Domain=NSCocoaErrorDomain Code=516 "The operation couldn’t be completed. (Cocoa error 516.)" UserInfo=0x9d665a0 {NSUserStringVariant=(
Move
), NSFilePath=/Users/username/Library/Application Support/iPhone Simulator/5.1/Applications/BC37C9D7-7995-47C1-8131-2B07BADCBECB/Documents/foldername/B713320C-2CA0-4FD3-93F6-71D76B102B83/src.png, NSDestinationFilePath=/Users/username/Library/Application Support/iPhone Simulator/5.1/Applications/BC37C9D7-7995-47C1-8131-2B07BADCBECB/Documents, NSUnderlyingError=0x9d41c60 "The …Run Code Online (Sandbox Code Playgroud) 有没有办法确定用户是否安装了特定的应用程序,甚至可以计算他们安装了多少个应用程序?
该信息将用于定位传递给用户的信息.
我创造,我很存储的应用程序UIImage中NSMutableArray
-(void)mainImageSelected: (id)sender
{
mainImageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"image%d.png",[sender tag]]]];
[myArray addObject:mainImageView];
}
Run Code Online (Sandbox Code Playgroud)
现在,我想在用户触摸时显示此图像.我正在做这样的事情:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self.view];
if ([currentObject isEqualToString:@"myObject"])
{
NSLog(@"Hello World");
[self.view addSubview:[myArray lastObject]];
[[myArray lastObject]setCenter:point];
}
}
Run Code Online (Sandbox Code Playgroud)
到这里,它工作正常,但问题是,当用户按下撤消按钮时,我想删除此图像.为此,我正在做这样的事情:
-(IBAction)Undo
{
[myArray removeLastObject];
}
Run Code Online (Sandbox Code Playgroud)
它是从数组中删除对象,但不删除/删除图像.有人请解决这个问题.
ios ×10
objective-c ×8
iphone ×5
xcode ×4
uitableview ×2
border ×1
ios4 ×1
ios6 ×1
ios7 ×1
ipad ×1
line ×1
nsstring ×1
null ×1
uisearchbar ×1
uiview ×1