我的故事板iOS应用程序中有一个UICollectionView.当设备处于纵向方向时,我希望它能够垂直滚动,当它在Landscaper中时,我希望它能够水平滚动.
在UICollectionView中,我可以看到scrollEnabled成员,但我看不到设置滚动方向的方法.我错过了什么吗?
我在工具栏上有一个复选框(NSToolbar),如下图所示.它的动作被调用,sender.state随每次推送切换,但在工具栏上永远不会检查该框.
因此,在切换和调用Action方面的预期行为都是您所期望的,只是复选框永远不会在选中框的情况下重绘.
我已尝试在操作中设置sender.setNeedsDisplay = YES,但这没有任何区别.
工具栏上的所有其他控件按预期工作.
有任何想法吗?

我的应用程序中有一个NSView的自定义子类。我想知道用鼠标单击的相对于原点的视图中的确切点。(即,不是相对于Window原点,而是相对于自定义视图原点)。
我一直使用它,效果很好:
-(void)mouseDown:(NSEvent *)theEvent
{
NSPoint screenPoint = [NSEvent mouseLocation];
NSPoint windowPoint = [[self window] convertScreenToBase:screenPoint];
NSPoint point = [self convertPoint:windowPoint fromView:nil];
_pointInView = point;
[self setNeedsDisplay:YES];
}
Run Code Online (Sandbox Code Playgroud)
但是现在我得到一个警告,不建议使用convertScreenToBase,而应使用convertRectFromScreen。但是我不能从convertRectFromScreen得到相同的结果,无论如何,我对一点感兴趣,而不是矩形!
我应该用什么代替上面已弃用的代码?提前致谢!
我的应用程序需要加载硬件制造商提供的dylib。在 dylib 上使用 otool 会产生以下输出:
$otool -L harwdware.2.dylib
hardware.2.dylib:
@executable_path/../Addittional/hardware.2.dylib (compatibility version 3.0.0, current version 3.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1153.18.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
Run Code Online (Sandbox Code Playgroud)
我想将@executable_path/../Additional/更改为@executable_path/../Frameworks/,它实际上更短,所以它应该适合。但是当我跑步时:
install_name_tool -change @executable_path/../Addittional/hardware.2.dylib @executable_path/../Frameworks/hardware.2.dylib hardware.2.dylib
Run Code Online (Sandbox Code Playgroud)
然后什么也没有发生,没有任何变化,otool 的输出与以前相同。
我哪里错了?