小编Mat*_*ong的帖子

双击UITabBarController时防止自动popToRootViewController

一个的UITabBarController的默认行为是弹出所包含的UINavigationController到根视图控制器当特定标签被点击第二次.我有一个特殊的用例,我希望它不能自动工作,而我很难弄清楚如何防止这种情况.

有没有人碰到这个,如果有的话,你做了什么?我是否需要子类化UINavigationController并覆盖popToRootViewController或者是否有更简单的方法?

iphone uitabbarcontroller uinavigationcontroller

33
推荐指数
3
解决办法
9069
查看次数

无法在图像视图拉伸到其边界的图层上设置cornerRadius AND阴影?

这让我很难过.我有一个UIView(称之为"父").该视图的最底层子视图是UIImageView(称为"child"),其框架占据整个"父"边界.

我想围绕"父"视图的角落,并设置投影.我CALayer像往常一样在"父母"这样做:

[[parent layer] setShadowOffset:CGSizeMake(5, 5)];
[[parent layer] setShadowRadius:6];
[[parent layer] setShadowOpacity:0.4];    
[[parent layer] setCornerRadius:6];
Run Code Online (Sandbox Code Playgroud)

这会正确显示阴影,但不会使角落变圆.

这是踢球者:

  1. 如果我删除"子"图像视图,或者缩小它以使其不占据"父"视图的整个边界,我会在父级上正确获得圆角和阴影.
  2. 如果我单独留下"孩子"但在"父"视图上设置"clipsToBounds",我会正确地得到角落.但现在阴影消失了.
  3. 孩子的图层上设置角半径似乎也没有效果.

看起来"子"图像视图只是模糊了"父"视图上的圆角,因为它占据了整个矩形,而基于父视图的剪切获得了角落,但也掩盖了阴影.不确定为什么#3不起作用.

我错过了什么?通过长时间盯着这个,我是否忽视了一些明显的东西?

谢谢.

(令人震惊的是,标签"roundcorners-dropshadow"已经存在.太棒了.)

core-animation roundedcorners-dropshadow calayer uiview uiimageview

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

AVCam项目在iPad上崩溃

Apple的AVCam演示应用程序的演示源代码可在此处找到:https://developer.apple.com/library/content/samplecode/AVCam/Introduction/Intro.html在尝试拍照时崩溃(无论您是否构建了目标-C(或Swift版本)在AVCamCameraViewController/CameraViewController(Swift)线上拍摄照片:

[self.photoOutput capturePhotoWithSettings:photoSettings delegate:photoCaptureDelegate];
Run Code Online (Sandbox Code Playgroud)

或(斯威夫特)

self.photoOutput.capturePhoto(with: photoSettings, delegate: photoCaptureDelegate)
Run Code Online (Sandbox Code Playgroud)

崩溃时的错误消息是:

2016-11-21 17:44:31.590070 AVCam [2178:2303627] *由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* - [AVCapturePhotoOutput capturePhotoWithSettings:delegate:] flashMode必须设置为supportedFlashModes中存在的值阵"

当我检查闪存模式数组时,我得到了这个:

(lldb)po [self.photoOutput supportedFlashModes] <__ NSSingleObjectArrayI 0x170007c50>(0)

因此,为了添加闪存模式,文档说您必须指定要在AVCapturePhotoSettings对象中支持的模式.我用这行代码完成了这个:

photoSettings.flashMode = AVCaptureFlashModeAuto;
Run Code Online (Sandbox Code Playgroud)

或(斯威夫特)

photoSettings.flashMode = .auto
Run Code Online (Sandbox Code Playgroud)

所以我的预感是,这是一个特别与12.9"iPad Pro有关的错误,我可能需要提交一个雷达,但我想我会问这里,万一有人以前见过它.有什么想法吗?

更新

我也能够复制其他iPad,所以它似乎不仅仅是12.9英寸的iPad Pro.

objective-c avfoundation ipad avcam swift

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

iPhone UISearchBar和keyboardAppearance

当键盘出现时,我想设置

keyboardAppearance = UIKeyboardAppearanceAlert
Run Code Online (Sandbox Code Playgroud)

我检查了文档,看起来你只能更改keyboardType.

这可以在不违反任何Apple私有API的情况下完成吗?

iphone uisearchbar iphone-sdk-3.0

9
推荐指数
4
解决办法
7207
查看次数

如何将子文本添加到表格单元格?

我创建了一个显示数据库字段的表视图.我需要为每个单元格添加一个子标签和一个子文本,我可以在其中显示其他数据库字段.需要帮忙..

iphone

9
推荐指数
1
解决办法
7776
查看次数

无GUI应用程序包

我想创建一个没有GUI但可以访问应用程序包的帮助应用程序.我正在查看Xcode命令行项目模板,但这些只是生成可执行文件.如何创建类似命令行工具的东西,它不提供应用程序菜单,但提供对.app中捆绑资源的访问?我是否以错误的方式思考这个问题?

谢谢.

cocoa command-line objective-c

9
推荐指数
2
解决办法
1560
查看次数

滑动删除但不是整个UI后UITableView冻结

全屏桌面视图仅适用于iPad的应用程序.我已启用滑动以删除我的行.删除后(rowEditingStyle完成)行动画总是结束,但有时整个表视图会冻结.请注意,不是整个UI,因此它不是一个被阻止的主线程.我可以点击列标题或点击导航控制器上的后退按钮,但表本身会锁定并且无法刷卡.我可以通过点击我的一个列标题按钮来解冻它.

在此输入图像描述

我完全不知道可能导致冻结的原因.我正在使用NSFetchedResultsController,这是我的委托代码.它是漂亮的锅炉板(更新:现在不是锅炉板.使用批处理方法):

// MARK: NSFetchedResultsController delegate methods

lazy var deletedSectionIndexes : NSMutableIndexSet = {
    return NSMutableIndexSet()
}()

lazy var insertedSectionIndexes : NSMutableIndexSet = {
    return NSMutableIndexSet()
}()

lazy var deletedRowIndexPaths : [NSIndexPath] = {
    return [NSIndexPath]()
}()

lazy var insertedRowIndexPaths : [NSIndexPath] = {
    return [NSIndexPath]()
}()

lazy var updatedRowIndexPaths : [NSIndexPath] = {
    return [NSIndexPath]()
}()


func controllerWillChangeContent(controller: NSFetchedResultsController) {

}

func controller(controller: NSFetchedResultsController, didChangeObject anObject: AnyObject, atIndexPath indexPath: NSIndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath?) {
    switch(type) …
Run Code Online (Sandbox Code Playgroud)

core-data uitableview nsfetchedresultscontroller swift

9
推荐指数
1
解决办法
931
查看次数

如何在UISearchDisplayController的表视图中添加自定义背景?

我想在UISearchDisplayController的表视图背景中添加自定义UIImageView,并将表视图的背景颜色设置为clearColor.尝试了一些不同的方法,但找不到合适的解决方案.知道如何处理这个问题吗?

注意:我不想添加到searchDisplayController的searchResultsTableView的视图层次结构中,而是覆盖它下面的另一个兄弟视图)

iphone uikit

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

在二进制数据中查找字符串

我有一个使用NSData对象加载的二进制文件.有没有办法在二进制数据中找到一系列字符,例如'abcd',并返回偏移而不将整个文件转换为字符串?似乎它应该是一个简单的答案,但我不知道该怎么做.有任何想法吗?

我在iOS 3上这样做,所以我没有-rangeOfData:options:range:.

我要把这个奖励给Sixteen Otto,以便建议strstr.我去找了C函数strstr的源代码并重写它以在固定长度的Byte数组上工作 - 顺便说一下,它与char数组不同,因为它不是null终止的.这是我最终得到的代码:

- (Byte*)offsetOfBytes:(Byte*)bytes inBuffer:(const Byte*)buffer ofLength:(int)len;
{
    Byte *cp = bytes;
    Byte *s1, *s2;

    if ( !*buffer )
        return bytes;

    int i = 0;
    for (i=0; i < len; ++i)
    {
        s1 = cp;
        s2 = (Byte*)buffer;

        while ( *s1 && *s2 && !(*s1-*s2) )
            s1++, s2++;

        if (!*s2)
            return cp;

        cp++;
    }

    return NULL;
}
Run Code Online (Sandbox Code Playgroud)

这将返回一个指针,指向第一次出现的字节,我正在寻找的东西,在缓冲区中,应该包含字节的字节数组.

我称之为:

// data is the NSData object
const Byte *bytes = [data bytes];
Byte* index …
Run Code Online (Sandbox Code Playgroud)

c cocoa-touch objective-c nsdata ios

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

可可故事板响应者链

Cocoa应用程序的故事板似乎是一个很好的解决方案,因为我更喜欢你在iOS中找到的方法.然而,虽然将事情分解为单独的视图控制器具有很大的逻辑意义,但我不清楚如何将窗口控件(工具栏按钮)或菜单交互传递给关心的视图控制器.我的应用程序委托是第一个响应者,它接收菜单或工具栏操作,但是,如何访问我需要获取该消息的视图控制器?您是否可以深入查看视图控制器层次结构.如果是这样,你是如何从应用代表那里到达那里的,因为它是第一个响应者?你能否将窗口控制器作为第一响应者.如果是这样,怎么样?在故事板?哪里?

由于这是一个高级别的问题,因此,如果您想知道,我正在使用Swift进行此项目.

macos cocoa storyboard nswindowcontroller swift

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