小编Ken*_*nny的帖子

如何在UICollectionView中更改滚动方向?

我的故事板iOS应用程序中有一个UICollectionView.当设备处于纵向方向时,我希望它能够垂直滚动,当它在Landscaper中时,我希望它能够水平滚动.

在UICollectionView中,我可以看到scrollEnabled成员,但我看不到设置滚动方向的方法.我错过了什么吗?

scroll objective-c orientation ios uicollectionview

36
推荐指数
5
解决办法
6万
查看次数

NSToolBar上的复选框不会更新?

我在工具栏上有一个复选框(NSToolbar),如下图所示.它的动作被调用,sender.state随每次推送切换,但在工具栏上永远不会检查该框.

因此,在切换和调用Action方面的预期行为都是您所期望的,只是复选框永远不会在选中框的情况下重绘.

我已尝试在操作中设置sender.setNeedsDisplay = YES,但这没有任何区别.

工具栏上的所有其他控件按预期工作.

有任何想法吗? 在此输入图像描述

checkbox cocoa interface-builder nib

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

什么是计算单击鼠标的角度的正确方法

我的应用程序中有一个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得到相同的结果,无论如何,我对一点感兴趣,而不是矩形!

我应该用什么代替上面已弃用的代码?提前致谢!

macos nsview nspoint

4
推荐指数
2
解决办法
1034
查看次数

install_name_tool没有做任何改变?

我的应用程序需要加载硬件制造商提供的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 的输出与以前相同。

我哪里错了?

macos sdk xcode cocoa install-name-tool

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