我有一个应用程序,我需要从UINavigationController的堆栈中删除一个视图,并将其替换为另一个.情况是第一个视图创建一个可编辑的项目,然后用该项目的编辑器替换它自己.当我在第一个视图中执行明显的解决方案时:
MyEditViewController *mevc = [[MYEditViewController alloc] initWithGizmo: gizmo];
[self retain];
[self.navigationController popViewControllerAnimated: NO];
[self.navigationController pushViewController: mevc animated: YES];
[self release];
Run Code Online (Sandbox Code Playgroud)
我的行为非常奇怪.通常编辑器视图会出现,但如果我尝试使用导航栏上的后退按钮,我会得到额外的屏幕,有些空白,有些只是搞砸了.标题也变得随机.就像导航堆栈完全被冲洗一样.
什么是解决这个问题的更好方法?
谢谢,马特
我在使用addSubview时遇到问题.
示例代码:
ParentView *myParentView = [[ParentView alloc] initWithNibName:@"ParentView " bundle:nil];
ChildeView *myChildeView = [[ChildeView alloc] initWithNibName:@"ChildeView" bundle:nil];
//... parent frame resized with setFrame lets say to x:0, y:0, W:320, H:411
[[myParentView view] addSubview: [myChildeView view]];
Run Code Online (Sandbox Code Playgroud)
我的孩子在添加时比父母大,并且不会将其框架调整为父边界.我不能在父级上使用"剪辑子视图",如果父级框架未再次调整大小,则"自动调整子视图"似乎不起作用.是否有一个属性使子视图自动调整大小到其父级边界,而不对每个子节点使用setFrame?
我是ios的新手.我想知道是否有任何方法来检测呼叫事件,如来电,拨出电话,即使我的应用程序不在前台.如果是,那么我可以阅读有关该呼叫的详细信息,例如持续时间,是否错过,拨打或收到.提前致谢.
安装组件后Xcode 6.1出错了.Xcode安装程序是来自其他mac的副本.请帮我解决dyld_sim错误....谢谢
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/dyld_sim is not owned by root.
Run Code Online (Sandbox Code Playgroud) 我正在Release中构建一个应用程序,并在iPhone 4s上运行.
当我点击运行时,一切运行良好,我的应用程序甚至可以在iPhone上运行.
但有一段时间后,我有一个来自Xcode的错误:"等待应用程序启动时超时",而我的应用程序仍在运行.
怎么处理呢?
我正在构建我的设置屏幕并使用分组表视图.在尝试设置标题时,我看到标题视图上方的间距.我仔细检查了一下,我确实传递了正确的视图高度-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section.
以下是此行为的屏幕截图:

你可以看到我的视图中的标题(VIBRATE,SILENT MODE),它的颜色更深,bg颜色更亮.
在故事板中,在视图控制器中,我尝试在状态栏下添加一个导航栏,运行它,它是透明的,并显示一个应该模糊的标签,如导航栏.

但是当放置嵌入导航视图控制器中的相同视图控制器时,下面的背景图像可能会模糊,这是我的意图.

这两种方式有什么不同的结果?为了使状态栏模糊,第一种方法需要做些什么?
谢谢!
我试图在我的应用程序的UILabel视图中垂直对齐文本.问题是我希望文本垂直对齐顶部,标签的大小为280 x 150.我只能实现这两件事之一.如果我删除该行
[myLabel sizeToFit];
Run Code Online (Sandbox Code Playgroud)
然后文本的对齐没问题但是大小搞砸了.但是如果我添加上面的行,那么对齐就搞砸了但是大小没问题.我该如何解决这个问题.
我已添加以下代码 -
CGRect labelFrame = CGRectMake(22, 50, 280, 150);
UILabel *myLabel = [[UILabel alloc] initWithFrame:labelFrame];
[myLabel setText:finalRecipe];
[myLabel setBackgroundColor: [UIColor lightGrayColor]];
[myLabel setNumberOfLines:0];
[myLabel sizeToFit];
[self.view addSubview:myLabel];
Run Code Online (Sandbox Code Playgroud) 我必须实现在单个会话中重复暂停和恢复视频捕获的功能,但是将每个新段(每次暂停后捕获的段)添加到同一视频文件中AVFoundation.目前,每当我再次按"停止"然后再"记录"时,它只会将新的视频文件保存到我的iPhone的文档目录中,并开始捕获到新文件.我需要能够按下"记录/停止"按钮,仅在记录处于活动状态时捕获视频和音频...然后当按下"完成"按钮时,将一个包含所有段的AV文件放在一起.所有这些都需要在同一个捕获会话/预览会话中发生.
我没用AVAssetWriterInput.
我能想到尝试这个的唯一方法是按下"完成"按钮,获取每个单独的输出文件并将它们组合成一个文件.
此代码适用于iOS 5,但不适用于iOS 6.实际上,对于iOS 6,我第一次暂停录制(停止录制)AVCaptureFileOutputRecordingDelegate方法(captureOutput: didFinishRecordingToOutputFileAtURL: fromConnections: error:),但在此之后,当我开始录制时,captureOutput: didFinishRecordingToOutputFileAtURL: fromConnections: error:再次调用委托方法()但是在停止录制时不会调用它.
我需要一个解决这个问题的方法.请帮我.
//View LifeCycle
- (void)viewDidLoad
{
[super viewDidLoad];
self.finalRecordedVideoName = [self stringWithNewUUID];
arrVideoName = [[NSMutableArray alloc]initWithCapacity:0];
arrOutputUrl = [[NSMutableArray alloc] initWithCapacity:0];
CaptureSession = [[AVCaptureSession alloc] init];
captureDevices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
if ([captureDevices count] > 0)
{
NSError *error;
VideoInputDevice = [[AVCaptureDeviceInput alloc] initWithDevice:[self backFacingCamera] error:&error];
if (!error)
{
if ([CaptureSession canAddInput:VideoInputDevice])
[CaptureSession addInput:VideoInputDevice];
else
NSLog(@"Couldn't add video …Run Code Online (Sandbox Code Playgroud) 我使用以下代码将UIPanGuestureRecognizer添加到整个视图中:
UIPanGestureRecognizer *pgr = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAction:)];
[[self view] addGestureRecognizer:pgr];
Run Code Online (Sandbox Code Playgroud)
在主视图中我有一个UITableView,其中包含此代码以启用滑动删除功能:
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"RUNNING2");
return UITableViewCellEditingStyleDelete;
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row >= _firstEditableCell && _firstEditableCell != -1)
NSLog(@"RUNNING1");
return YES;
else
return NO;
}
Run Code Online (Sandbox Code Playgroud)
仅RUNNING1打印到日志,并且"删除"按钮不会显示.我相信其原因是UIPanGestureRecognizer,但我不确定.如果这是正确的,我该如何解决这个问题.如果这不正确,请提供原因并解决.谢谢.
ios ×6
iphone ×4
xcode ×3
cocoa-touch ×2
ios7 ×2
objective-c ×2
uitableview ×2
header ×1
permissions ×1
statusbar ×1
timeout ×1
uiimageview ×1
uilabel ×1
uiview ×1