小编ind*_*gie的帖子

UIGestureRecognizer阻塞表视图滚动

我正在使用自定义UIGestureRecognizer子类来跟踪我InfoView班级的手势.该InfoView班是一个自定义的子视图UITableViewCell称为子类InfoCell.

我已经将我的手势识别器添加到我的根视图(屏幕上其他所有内容的父视图,因为我的自定义手势识别器的目的是允许InfoCell 在表之间拖动视图).现在,除了一件事以外,一切都有效.我在我的UIGestureRecognizer子类中使用以下代码来检测InfoView视图上的触摸:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UIView *touchView = [[touches anyObject] view];
    if ([touchView isKindOfClass:[InfoView class]]) {
        // Do stuff
    }
Run Code Online (Sandbox Code Playgroud)

这里的问题是InfoView对象的触摸被截获,因此它们不会被转发到UITableView包含InfoCell它的父视图InfoView.这意味着我无法再通过拖动视图来滚动表InfoView视图,这是一个问题,因为它InfoView涵盖了整个视图InfoCell.

有什么方法可以将触摸转发到表格视图,以便它可以滚动?我已经尝试了很多东西:

[super touchesBegan:touches withEvent:event];

[touchView.superview.superview touchesBegan:touches withEvent:event];(touchView.superview.superview获取对其父级的引用UITableView)

但到目前为止还没有任何工作.此外,cancelsTouchesInViewUIGestureRecognizer的设置是NO,因此不会干扰触摸.

感谢帮助.谢谢!

cocoa-touch uiview ipad uigesturerecognizer

8
推荐指数
3
解决办法
8770
查看次数

适用于Mac OS X的AirPlay API

目前是否有任何API(公共或私有)允许第三方Mac OS X应用程序将音频流式传输到AirPlay接收器?翼型由流氓阿米巴软件似乎是能够做到这一点,这同样适用于埃里卡Sadun的AirFlick,但我无法找到任何的源代码将演示如何做到这一点.任何指针都表示赞赏!

audio streaming cocoa objective-c airplay

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

未调用NSTextField自动完成委托方法

我实现了以下委托方法NSTextField来添加自动完成支持:

- (NSArray *)control:(NSControl *)control
            textView:(NSTextView *)textView
         completions:(NSArray *)words
 forPartialWordRange:(NSRange)charRange
 indexOfSelectedItem:(NSInteger *)index
Run Code Online (Sandbox Code Playgroud)

问题是这个方法永远不会被调用.我可以验证delegateNSTextField正确设置,因为其他的委托方法,他们应该发挥作用.

cocoa objective-c nstextfield nstextview nscontrol

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

层支持/层托管NSView的不稳定行为

我有一个看起来像这样的视图层次结构:

在此输入图像描述

所以基本上我有一个带有子视图的NSSplitView,它包含一个滚动视图(用于表视图)以及一个包含3个子视图的页脚视图.需要注意的一些重要事项:

  • 使用10.8 base SDK,没有自动布局
  • 窗口内容视图,拆分视图,滚动和页脚视图的父视图以及滚动视图和页脚视图都使用NSViewContentsRedrawOnSetNeedsDisplay重绘策略进行图层备份.
  • 所述NSClipViewNSScrollView是一种特殊的子类,是一个层托管视图,并且使用CAScrollLayer作为背衬层.
  • " 颜色视图"是一个简单的图层背景视图,具有背景颜色集.
  • 背景视图是一个层托管具有与一个子层视图内容属性集到的图像(contentsCenter也被设置)
  • 内容的浏览是一种层支持包含单个子视图,定制容器视图层备份按钮视图(不是NSButton).
  • 页脚视图与滚动视图重叠约3个像素

这种布局我的行为非常不稳定.以下是我正在获得的三个不同场景,每次启动应用程序时都会随机化.

1)一切都好看.背景视图和所有内容都在那里:

在此输入图像描述

2)按钮显示正常,但背景视图似乎是部分透明的:

在此输入图像描述

3)背景视图显示正常但按钮消失:

在此输入图像描述

绝对没有代码在每个场景之间发生变化.我只是停下来再次运行应用程序.我确保在运行时我没有更改与不透明度相关的任何内容.我在运行时唯一要做的就是在视图上设置背景颜色和图像.

编辑:我有一种感觉,重叠的视图可能会造成麻烦,所以我测试没有重叠,得到相同的结果.

编辑2:这似乎是zPosition层支持视图的层的问题.订单是乱码和随机的.如果我手动强制图层的zPosition到正确的值以匹配子视图顺序,那么一切都很好.不幸的是,我找不到更简洁的方法来做到这一点,而不仅仅是设置zPosition.

cocoa core-animation objective-c calayer nsview

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

批处理对象集合的多对多关系

场景:

比方说,我有一个名为实体,Author即有一个叫做一对多关系booksBook实体(反向关系author).如果我有一个现有的Author对象集合,我想books在一个获取请求中为所有这些对象的关系出错.

这是我到目前为止所尝试的:

NSArray *authors = ... // array of `Author` objects
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Book"];
fetchRequest.returnsObjectsAsFaults = NO;
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"author IN %@", authors];
Run Code Online (Sandbox Code Playgroud)

执行此获取请求不会导致数组中books对象的关系authors出现故障(通过日志记录进行检查).

我也试过反过来做提取请求:

NSArray *authors = ... // array of `Author` objects
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Author"];
fetchRequest.returnsObjectsAsFaults = NO;
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"SELF IN %@", authors];
fetchRequest.relationshipKeypathsForPrefetching = @[@"books"];
Run Code Online (Sandbox Code Playgroud)

这也不会引发故障.这样做的恰当方式是什么?

core-data objective-c nsfetchrequest

8
推荐指数
0
解决办法
595
查看次数

UITextView在iOS 8中崩溃,其中包含一个表的属性字符串

在iOS 8(或甚至可能在iOS 7/7.1中)NSAttributedStringiOS上添加了渲染文本表的功能.此API 在OS X公开,但在iOS 公开.但是,可以通过将包含表的HTML传递给iOS,在iOS上创建包含文本表的属性字符串-[NSAttributedString initWithData:options:documentAttributes:error:].

正确创建了属性字符串,但是当我尝试使用a渲染字符串时UITextView,会抛出此异常:

<NSATSTypesetter: 0x7f8900faec90>: Exception *** -[NSConcreteTextStorage attribute:atIndex:effectiveRange:]: Range or index out of bounds raised during typesetting layout manager <NSLayoutManager: 0x7f8902e13440>
1 containers, text backing has 1884 characters
Currently holding 1884 glyphs.
Glyph tree contents:  1884 characters, 1884 glyphs, 1 nodes, 64 node bytes, 7680 storage bytes, 7744 total bytes, 4.11 bytes per character, 4.11 bytes per glyph
Layout tree contents:  1884 …
Run Code Online (Sandbox Code Playgroud)

objective-c uitextview nsattributedstring ios nstextstorage

8
推荐指数
0
解决办法
904
查看次数

为MAAttachedWindow淡入/淡出

我正在使用Matt Gemmell的MAAttachedWindow(http://mattgemmell.com/source)和NSStatusItem在菜单栏中显示自定义视图.我很困惑如何让它淡入淡出.通常我会做这样的事情:

[window makeKeyAndOrderFront:self];
[[window animator] setAlphaValue:1.0];
Run Code Online (Sandbox Code Playgroud)

并淡出:

[[window animator] setAlphaValue:0.0];
Run Code Online (Sandbox Code Playgroud)

但是这个代码似乎对MAAttachedWindow没有影响.有任何想法吗?

谢谢

cocoa objective-c fade nswindow

7
推荐指数
2
解决办法
2107
查看次数

iPad/iPhone应用程序之间的云同步

我有一个核心数据应用程序,最终将成为iPhone/iPad通用应用程序.

我想实现云同步,以便运行应用程序的iPhone和iPad可以共享数据.我打算使用最近发布的Dropbox API.有没有人对最佳方法有什么想法呢?Dropbox API允许应用程序在云上存储文件.我想的是原始存储云上应用程序的数据库(sqlite),然后下载该数据库,但我意识到使用该方法会使合并更改(而不是替换整个数据库)变得非常困难.

任何想法都表示赞赏.谢谢.

cloud iphone synchronization dropbox ipad

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

如何做iPad Photos应用程序捏扩展

我不认为这个网站之前有过这样的问题,但我可能错了.

有谁知道如何使用iPad Photos应用程序获得整体效果的基础知识?基本上,捏一堆照片可以让你对该堆栈中的照片进行"窥视",根据两个手指之间的距离进行扩展,然后完全完成向外捏手势打开堆叠中的照片新观点.

观看视频,了解我的意思.我知道至少有一个第三方应用程序使用与iPad Photo应用程序相同的方法,所以我知道这是可行的.我猜我会用UIPinchGestureRecognizer做点什么,但我不确定如何继续.

cocoa-touch objective-c pinch ipad uigesturerecognizer

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

覆盖内容的NSScroller

有什么办法来覆盖的NSScroller 滚动视图的内容(如在iOS版)?我已经尝试了几种方法:

a)设置滚动视图内容视图(NSClipView)的框架以扩展到滚动条的边界

b)添加NSScroller对象作为滚动视图的子视图(位于我想要的位置)

c)创建一个完全自定义的滚动视图并将其作为子视图放置(这有效,但这意味着我需要重写NSScroller的所有功能)

Sparrow似乎成功地做到了这一点,它似乎是通过一个常规的NSScroller子类来实现的(因为它响应了系统偏好设置>>外观中设置的滚动设置).这并不是真正吸引滚动条的问题,只是让它覆盖了内容.

任何建议表示赞赏:-)

cocoa objective-c nsview nsscroller nsscrollview

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