小编Pat*_*cia的帖子

如何在Objective-C中添加具有自己的UIViewController的子视图?

我正在为拥有自己的子视图而苦苦挣扎UIViewControllers.我有一个UIViewController视图(浅粉色)和两个按钮toolbar.我希望在按下第一个按钮时显示蓝色视图,按下第二个按钮时显示的黄色视图.如果我只是想显示一个视图,应该很容易.但蓝色视图将包含一个表,因此它需要它自己的控制器.那是我的第一课.我从这个SO问题开始,我知道我需要一个控制器用于表.

所以,我要支持并采取一些婴儿步骤.下面是我的Utility ViewController(主视图控制器)和另外两个控制器(蓝色和黄色)的简单起点图片.想象一下,当ViewController首次显示Utility (主视图)时,将显示粉红色视图所在的蓝色(默认)视图.用户可以单击两个按钮来回移动,粉红色视图将永远不会显示.我只想将蓝色视图移到粉红色视图的位置,将黄色视图移到粉红色视图所在的位置.我希望这是有道理的.

简单的故事板图像

我正在尝试使用addChildViewController.从我所看到的,有两种方法可以做到这一点:容器视图storyboardaddChildViewController编程.我想以编程方式进行.我不想使用NavigationController或Tab栏.我只想添加控制器,并在按下相关按钮时将正确的视图推入粉红色视图.

下面是我到目前为止的代码.我想要做的就是显示粉红色视图所在的蓝色视图.从我所看到的,我应该能够addChildViewController和addSubView.这段代码不适合我.我的困惑是让我变得更好.有人可以帮我看到粉红色视图所在的蓝色视图吗?

除了在viewDidLoad中显示蓝色视图外,此代码不用于执行任何操作.

IDUtilityViewController.h

#import <UIKit/UIKit.h>

@interface IDUtilityViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIView *utilityView;
@end
Run Code Online (Sandbox Code Playgroud)

IDUtilityViewController.m

#import "IDUtilityViewController.h"
#import "IDAboutViewController.h"

@interface IDUtilityViewController ()
@property (nonatomic, strong) IDAboutViewController *aboutVC;
@end

@implementation IDUtilityViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.aboutVC = [[IDAboutViewController alloc]initWithNibName:@"AboutVC" bundle:nil];
    [self addChildViewController:self.aboutVC];
    [self.aboutVC didMoveToParentViewController:self];
    [self.utilityView addSubview:self.aboutVC.aboutView];
}

@end
Run Code Online (Sandbox Code Playgroud)

- - - - …

objective-c uitableview uiviewcontroller uicontainerview

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

无法在Interface Builder(Xcode 5)中创建与子视图的出口连接

我知道这似乎与其他一些问题重复,但答案对我不起作用.

  1. 我创建了一个单一的视图应用.
  2. 在故事板中,我在主视图中添加了一个子视图.
  3. 我的主视图上有一个标签,我的子视图上有另一个标签.
  4. 我创建了一个类型为UIView的类,并将其添加为子视图的自定义类.
  5. 我可以将我的主视图上的标签拖动到主视图控制器类.但是当我尝试将我的子视图上的标签拖动到我的自定义类时,我无法进行连接.
  6. 我甚至输入了属性信息并试图手动连接无济于事.

在Xcode的Interface Builder的最新版本中,情况发生了一些变化.有人能告诉我我错过了什么吗?这里几乎没有代码.我只是测试尝试使用自定义类将插座连接到子视图.

第一张图片显示我已经设置了自定义类并添加了一个属性,但我无法建立连接.

Interface Builder中的主视图和子视图 - 设置了自定义类

第二个图像显示主视图标签连接在主视图的控制器中.

Interface Builder中的主视图和子视图 - 主视图的标签已连接

第三张图片显示子视图标签没有插座连接.

Interface Builder中的主视图和子视图 - 无法连接子视图的标签

objective-c uiview ios xcode5

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

从Objective-C调用C++

对于那些已经成功地从Objective-C调用C++代码的人,请您启发我吗?

这个链接说你需要使用他在文章中描述的技术来包装你的C++代码.它看起来不错,但我仍然有问题.

这个链接说,只要调用C++类的Objective-C类已经转换为.mm(Objective-C++)类,那么这两个应该可以很好地协同工作.

在我尝试添加方法调用时,这些方法中的每一种都让我感到悲伤.有人可以给我一个简单的Hello World iOS应用程序的代码,该应用程序使用Objective-C作为"Hello"部分,而使用Objective-C++类的"World"部分使用C++类吗?或者我仍然有错误的整个概念?

c++ objective-c objective-c++ ios

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

Xcode 5 - 如何更改版权格式

我一直在寻找这个答案,并找到了很多关于更改公司名称等的信息. 但只有一个人回答了如何完全重新格式化这个信息块.不幸的是,这些信息现在已经过时了,我似乎无法让它发挥作用.我试过的文件被锁定了.也许有人可以告诉我如何在Xcode 5中做到这一点?

//
//  ___FILENAME___
//  ___PACKAGENAME___
//
//  Created by ___FULLUSERNAME___ on ___DATE___.
//  Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
//
Run Code Online (Sandbox Code Playgroud)

我想将格式更改为Java Doc样式.像这样的东西:

/**
 *  ___FILENAME___
 *  ___PACKAGENAME___
 *
 *  Created by ___FULLUSERNAME___ on ___DATE___.
 *  Copyright (c) ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
 */
Run Code Online (Sandbox Code Playgroud)

是的,我看到了这个并在我原来的问题中引用了它.

这是唯一一个展示如何完全重新格式化这个块的人.只有我认为它可能不再起作用了.我试图更改块但被锁定编辑. 也许Xcode 5或Apple已经为此添加了一个新的配置?仍然悬而未决的问题等待答案.

xcode

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

如何将(OS_dispatch_data*)5018112字节转换为NSData以放入UIImage

我一直在寻找一个答案,有些人似乎可能是我需要的,但我不确定.我发现了这个问题#9152851和这个问题#2617625并在一堆链接上探讨了但我需要一些方向.

本质上,我正在调度异步调用以使用OpenCV处理图像.您可以通过此处的代码看到我将其转换为NSData*,然后再将其发送回我的代理人.

NSData *proccessedData = [NSData dataWithBytes:processedImage.data length:(processedImage.rows * processedImage.cols)];        
[self.delegate onProcessedBitmapReady:proccessedData withFocusQuality:focusQuality];
Run Code Online (Sandbox Code Playgroud)

但是当我回到我的委托时,我的processedBitmap是类型(OS_dispatch_data*)并包含一个字节值.所以,当我尝试设置UIImage时,它被设置为null.

- (void)onProcessedBitmapReady:(NSData *)processedBitmap withFocusQuality:(double)focusQuality
{
    //Use comverted image from self.captureCommand onComplete
    UIImage *image = [[UIImage alloc] initWithData:processedBitmap];
    [self saveImage:image];
}
Run Code Online (Sandbox Code Playgroud)

以下是值的屏幕截图:

Imgur

那么,我如何将这些字节(或者它们是什么)转换成我可以填充到UIImage中的东西呢?

预先感谢您的帮助.

-------------------------------------------------- ----- 添加新图像 -----------------------------------------

我的字节

这个新图片有帮助吗?

谢谢.

opencv objective-c uiimage dispatch-async

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

Xcode调试没有显示值

我完全难过了.我已经调试了一年多,并且在Build Configuration设置为Release时只遇到了这个问题.我已将Build Configuration设置为Debug,并且我已经检查以确保我附加到正确的进程,但在单步执行代码时仍然看不到值.还有其他人遇到过这个问题吗?

这是一个屏幕截图:

在此输入图像描述

值正在返回,但我无法在此方法或任何其他方法中看到ANYTHING的值,我无法弄清楚原因.

感谢您提供给我的任何提示.

==============================更新=================== ===============

我试图打印出有价值的,这是我收到的输出:

在此输入图像描述

但请注意,即使我无法将其打印出来,Variables视图中的值对于结果也是正确的.但其他值,如filePath不应该是nil.

这太奇怪了.

==============================更新=================== ===============

我把断点放在return语句上但仍然没有运气:

在此输入图像描述

这次我看不到结果的价值:

在此输入图像描述

xcode objective-c

10
推荐指数
2
解决办法
9475
查看次数

AVFoundation - 如何控制曝光

攻进行拍照,我要锁定曝光,一旦曝光,不再调整关闭的火炬.所以,我添加了一个观察者来处理adjustExposure:

- (IBAction)configureImageCapture:(id)sender
{
    [self.session beginConfiguration];

    [self.cameraController device:self.inputDevice exposureMode:AVCaptureExposureModeAutoExpose];
    [self.cameraController device:self.inputDevice torchMode:AVCaptureTorchModeOn torchLevel:0.8f];

    [self.session commitConfiguration];

    [(AVCaptureDevice *)self.inputDevice addObserver:self forKeyPath:@"adjustingExposure" options:NSKeyValueObservingOptionNew context:MyAdjustingExposureObservationContext];        
}
Run Code Online (Sandbox Code Playgroud)

这是observeValueForKeyPath方法:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    if (context == MyAdjustingExposureObservationContext) {
        if( [keyPath isEqualToString:@"adjustingExposure"] )
        {
            BOOL adjustingExposure = [ [change objectForKey:NSKeyValueChangeNewKey] isEqualToNumber:[NSNumber numberWithInt:1] ];

            if (!adjustingExposure)
            {
                [(AVCaptureDevice *)self.cameraController.inputDevice removeObserver:self forKeyPath:@"adjustingExposure"];

                if ([self.inputDevice isExposureModeSupported:AVCaptureExposureModeLocked]) {
                    dispatch_async(dispatch_get_main_queue(),
                                   ^{
                                       NSError *error = nil;
                                       if ([self.inputDevice lockForConfiguration:&error]) {
                                           // 5) lock the exposure
                                           [self.cameraController device:self.inputDevice …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c avfoundation

7
推荐指数
1
解决办法
1930
查看次数

javascript正则表达式查找单引号或双引号不起作用

如果找到特殊字符,我有一个正则表达式返回false.如果找到任何单引号或双引号,我正在尝试修改它以执行相同操作.这是regexr.com没有帮助的一次.

这是我的表达式适用于特殊字符:

^(?=.*?[A-Z]{2})((?!!|@|$|%|\^|&|\*)).)*$
Run Code Online (Sandbox Code Playgroud)

这是我的单引号和双引号的正则表达式:

^(?=.*?[A-Z]{2})((?!'|").)*$
Run Code Online (Sandbox Code Playgroud)

我甚至试图逃避它们:

^(?=.*?[A-Z]{2})((?!\'|\").)*$
Run Code Online (Sandbox Code Playgroud)

请帮忙!我浪费了太多时间,无法快速弄明白.

我有一个方法:

var isValidText = function (val) {
    var rx = new RegExp(\^(?=.*?[A-Z]{2})((?!!|@|$|%||^|&||*)).)*$\);
    var result = rx.text(val);
    return result;
}
Run Code Online (Sandbox Code Playgroud)

简单输入:

这个周末我们正在举办派对和我的家.请带上尽可能多的朋友; 越多越好.

一旦在我们找到单引号,该段应该无效.

javascript regex

7
推荐指数
1
解决办法
628
查看次数

删除故事板并使用.xib启动应用程序

我试图按照这个问题的说明进行操作.但是我一定不能正确地做一些事情因为我在进入ViewController方法之前仍然得到一个SIGABRT.

以下是步骤:

  1. 复制故事板中视图上的所有项目并粘贴到新的xib视图中.
  2. 将.h和.m查看控制器文件的所有内容复制到xib的新内容中.
  3. 将主nib文件基本名称更改为info.plist文件中的新xib名称.
  4. 试图改变主人,但我不知道我是否正确这样做.
  5. 编辑appdelegate didFinishLaunchingWithOptions文件如下:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    
     {
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] ;
    
         // Override point for customization after application launch.
    
         TestViewController *test = [[TestViewController alloc]         initWithNibName:@"TestViewController" bundle:nil];
         UINavigationController *nav = [[UINavigationController alloc]  initWithRootViewController:test];
         self.window.rootViewController = nav;
    
         [self.window makeKeyAndVisible];
    
         return YES;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  6. 我甚至尝试从一个空项目开始,就像我建议的最后一个帖子之一,当我尝试运行时仍然得到一个SIGABRT.

Apple是否无法删除故事板?我正在创建一个SDK.我不想要故事板.但我确实需要一个可旋转的xib.

救命?

xcode objective-c ios xcode-storyboard

6
推荐指数
1
解决办法
8212
查看次数

jquery数据表按索引删除行

我知道这个问题很受欢迎,但所有答案都是针对选定的行.我试图删除/删除未选中的行.我有一个表的变量,我想删除行,我有我要删除的行的索引.

这些是获取表或行句柄的各种方法:

var table = $('#tableName');
var rows = $('#tableName tbody tr').toArray();
var oTable = $('#tableName').dataTable();
Run Code Online (Sandbox Code Playgroud)

我知道如何row.remove()在选定的行上使用该方法.

var jThisButton = $(this);
var jRow = jThisButton.parents("tr");
jRow.remove();
Run Code Online (Sandbox Code Playgroud)

但我的行没有被选中 ; 相反,我有一个索引.假设我的索引是2.使用类似上面代码的东西,也许我可以按索引逐行删除它,如下所示:

var jRow = table.find('tr').eq(index);
jRow.remove();
Run Code Online (Sandbox Code Playgroud)

除此之外不起作用.该代码将我要删除的行移动到最后一行并且变得不稳定,显示搜索栏.

在此输入图像描述

您可以在下图中看到表格中有4行.

如何删除索引2中存在的tr?

在此输入图像描述

我无法在任何地方找到这个问题的答案.请帮忙!

jquery datatables

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