小编She*_*pta的帖子

如何从UINavigationController弹出视图并在一次操作中将其替换为另一个视图?

我有一个应用程序,我需要从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)

我的行为非常奇怪.通常编辑器视图会出现,但如果我尝试使用导航栏上的后退按钮,我会得到额外的屏幕,有些空白,有些只是搞砸了.标题也变得随机.就像导航堆栈完全被冲洗一样.

什么是解决这个问题的更好方法?

谢谢,马特

iphone cocoa-touch uinavigationcontroller uiviewanimation

83
推荐指数
5
解决办法
8万
查看次数

使用addSubview添加视图时,会将视图大小调整为其父级

我在使用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?

iphone cocoa-touch objective-c uiview

24
推荐指数
4
解决办法
32万
查看次数

检测ios中的呼叫事件

我是ios的新手.我想知道是否有任何方法来检测呼叫事件,如来电,拨出电话,即使我的应用程序不在前台.如果是,那么我可以阅读有关该呼叫的详细信息,例如持续时间,是否错过,拨打或收到.提前致谢.

event-handling background-process background-foreground ios

22
推荐指数
1
解决办法
3万
查看次数

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/dyld_sim不归root所有

安装组件后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)

permissions xcode ios

22
推荐指数
3
解决办法
1万
查看次数

Xcode 4.6错误 - 等待应用程序启动超时

我正在Release中构建一个应用程序,并在iPhone 4s上运行.

当我点击运行时,一切运行良好,我的应用程序甚至可以在iPhone上运行.

但有一段时间后,我有一个来自Xcode的错误:"等待应用程序启动时超时",而我的应用程序仍在运行.

怎么处理呢?

iphone error-handling xcode timeout ios

17
推荐指数
2
解决办法
1万
查看次数

在iOS7上分组UITableView的标题视图高度

我正在构建我的设置屏幕并使用分组表视图.在尝试设置标题时,我看到标题视图上方的间距.我仔细检查了一下,我确实传递了正确的视图高度-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section.

以下是此行为的屏幕截图: 在此输入图像描述

你可以看到我的视图中的标题(VIBRATE,SILENT MODE),它的颜色更深,bg颜色更亮.

header uitableview ios7

17
推荐指数
2
解决办法
2万
查看次数

iOS 7状态栏透明

在故事板中,在视图控制器中,我尝试在状态栏下添加一个导航栏,运行它,它是透明的,并显示一个应该模糊的标签,如导航栏.

在此输入图像描述

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

在此输入图像描述

这两种方式有什么不同的结果?为了使状态栏模糊,第一种方法需要做些什么?

谢谢!

statusbar uiimageview ios ios7

14
推荐指数
1
解决办法
2万
查看次数

垂直对齐UILabel

我试图在我的应用程序的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)

xcode uilabel ios

10
推荐指数
4
解决办法
4万
查看次数

在iOS中使用AVCaptureMovieFileOutput和AVCaptureVideoDataOutput暂停和恢复视频捕获

我必须实现在单个会话中重复暂停和恢复视频捕获的功能,但是将每个新段(每次暂停后捕获的段)添加到同一视频文件中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)

iphone video-processing avcapturesession

10
推荐指数
1
解决办法
3586
查看次数

在UITableView上轻扫以删除以使用UIPanGestureRecognizer

我使用以下代码将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,但我不确定.如果这是正确的,我该如何解决这个问题.如果这不正确,请提供原因并解决.谢谢.

objective-c uitableview ios uipangesturerecognizer

8
推荐指数
1
解决办法
3067
查看次数