小编iOS*_*com的帖子

如何使NSTableView单元格无法选择,但仍可在单元格中编辑NStextField

我正在使用基于NSTableview的视图.现在该视图有一个NSTextField实例,我希望它是可选择的.但是表视图的行不应该是可选的(这是使用委托方法完成的 - tableView:shouldSelectRow:它总是返回'NO'.)

只有当我使表行可选时,我才能从textField复制文本.有没有办法只保留NSTextField可选而不使表行也可选?

cocoa nstextfield

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

在 SwiftUI 中更新 ScrollView 的正确方法是什么?(MacOS 应用程序)

我正在使用从 appstore 正式发布的 Xcode 11。如果您运行下面的代码,可以看到很多东西。

在此处输入图片说明

  1. 点击Root Press正确添加缺少的视图#2,但没有动画。为什么没有动画?
  2. 点击任何Press按钮,正确添加一个中间视图,但如果你看,你会看到 scrollView 内容大小没有更新,因此内容被裁剪。更新 ScrollView 的正确方法是什么?
import SwiftUI
struct ContentView: View {
    @State var isPressed = false
    var body: some View {
        VStack {
            Button("Root Press") { withAnimation { self.isPressed.toggle() } }
            ScrollView {
                Group {
                    SampleView(index: 1)
                    if isPressed { SampleView(index: 2) }
                    SampleView(index: 3)
                    SampleView(index: 4)
                }
                .border(Color.red)
            }
        }
    }
}

struct SampleView: View {
    @State var index: Int
    @State var isPressed = false
    var body: some …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

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

如何检测 SwiftUI 视图的 CMD + 单击?

如何检测 SwiftUI 视图的 CMD + 单击?(MacOS 应用程序)

我无法为这个问题添加太多细节。谷歌搜索没有帮助,我不知道从哪里开始。

我希望当用户将手放在 CMD 上然后单击视图时,我将运行一个函数。有没有人解决这个问题?提前致谢。

swift swiftui

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

应该释放一个对象并将其设置为nil是原子的吗?

我是Objective C的新手.我在许多iPhone/iPad应用程序中看到,在释放一个对象之后,它将被设置为nil.

[self.obj release]
self.obj = nil; 
Run Code Online (Sandbox Code Playgroud)

我假设这样做是为了不让指针引用一个现在被释放的内存位置.现在假设以下情况:

//Thread #1 code
..some code
..some code
[self.obj release]
                  -------> Thread #2 runs //Thread #2 code
                                          ..some code
                                          if (self.obj){
                                            some code
                                          }
self.obj = nil;   <----- Thread #1 runs
Run Code Online (Sandbox Code Playgroud)

我想知道这种情况是否可能?如果是,是否有办法使释放/零原子?

multithreading cocoa-touch objective-c ios

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

什么是使用多种变体产品设计数据库的最佳方法?

这个问题与这个问题有关:在数据库中存储产品颜色的最佳方法

所以我有一个具有多个属性的产品.下面是一个例子.

产品A.

Name: Product A v1.0, Product A v2.0 (2 versions of Product A)
Color: Black, White, Blue
Capacity: 16MB, 32MB, 64MB
Carrier: T-Mobile, Digicel, Vonage
Run Code Online (Sandbox Code Playgroud)

此产品只能拥有每个属性中的一个.例如:黑色32MB,Vonage产品A v2.0

我不确定如何在规范化数据库中设置此产品.我是否为产品名称,颜色,容量和载体创建单独的表格,然后在产品A v1.0和颜色,产品A v1.0和容量,产品A v1.0和运营商等之间创建链接表?

我也不确定,因为产品A v1.0仅提供16MB黑/白,而v2.0提供所有颜色,所有容量和仅一个蜂窝载体.我可以继续其他微小的变化.

mysql database oracle database-design relational-database

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

在目标C中使用CFSTR()和UTF8String

将NSString转换为常量时,我​​通常会使用

[@"..." UTF8String];
Run Code Online (Sandbox Code Playgroud)

我只是在地址簿编程上查看苹果文档,我看到他们使用宏

CFSTR("...");
Run Code Online (Sandbox Code Playgroud)

出于好奇,我只是想知道这两者有什么不同吗?

objective-c

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

快速在GPU上运行功能

我有一个可以长时间运行的功能(具有多个内部循环)。我假设在GPU而不是CPU上运行它会更快?

有没有办法在GPU上运行任意功能?

苹果已经表示金属:

Metal 2提供对图形处理单元(GPU)的近乎直接访问,使您能够最大程度地发挥应用程序的... 计算潜力

我看到了使用Metal进行游戏和图形渲染的示例,但是有没有任何示例或链接可以帮助我运行常规功能?

swift metal

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

约束更改时如何更改UITableViewCell的高度?

我的问题与此相关:使用UITableViewAutomaticDimension时如何在UitableviewCell中更改UIView的高度约束

那里的解决方案似乎对我不起作用。

在此处输入图片说明

在上图中,我有一个简单的单元格。在单元格上点击,我想将redView的约束更改为更大。然后,这将自动更改单元格的高度。

我已经将单元格的高度约束设置为@IBOutlet,我认为我正确地更改了单元格的大小,但是它不起作用。

这是我的示例应用程序无法正常工作。有什么帮助吗?SampleApp-适用于Xcode 9.3

uitableview ios swift

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

如何用鼠标在 SwiftUI 中画一条线?

我正在尝试做这样的事情,但我不知道从哪里开始。

在此处输入图片说明

到目前为止,我有一些“有效”的代码......这是我的完整代码(macOS)

struct ContentView: View {
    @State private var currentPosition: CGSize = .zero
    @State private var newPosition: CGSize = .zero

    var body: some View {
        ZStack {
            Path { path in
                path.move(to: CGPoint(x: 20, y: 100))
                path.addLine(to: CGPoint(x: currentPosition.width, y: currentPosition.height))
            }
            .trimmedPath(from: 0, to: 1)
            .strokedPath(StrokeStyle(lineWidth: 9, lineCap: .square, lineJoin: .round))
            .foregroundColor(.red)
            Circle()
                .frame(width: 7, height: 7)
                .foregroundColor(Color.blue)
                .offset(x: self.currentPosition.width, y: self.currentPosition.height)
                .gesture(DragGesture()
                    .onChanged { value in
                        self.currentPosition = CGSize(width: value.translation.width + self.newPosition.width, height: value.translation.height + self.newPosition.height)
                }
                .onEnded …
Run Code Online (Sandbox Code Playgroud)

swiftui

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

如何在NSString中替换\ xa0字符的出现

我已经看过这个问题,但没有解决方案.这是问题所在.

po [myNumberFormatter stringFromNumber:myNumber]
Run Code Online (Sandbox Code Playgroud)

输出 - >(id)$ 4 = 1.500,00

p (char) [(NSString *)[myNumberFormatter stringFromNumber:myNumber] characterAtIndex:1]
Run Code Online (Sandbox Code Playgroud)

输出 - >(char)$ 5 ='\ xa0'

po [(NSString *)[myNumberFormatter stringFromNumber:myNumber] stringByReplacingOccurrencesOfString:@"\xa0" withString:@" "]
Run Code Online (Sandbox Code Playgroud)

输出 - >(id)$ 6 = 1.500,00

有一点需要注意的是,在屏幕上,值1.500,00看起来像1 500,00.但有没有办法将'\ xa0'字符转换为字符串中的@""?

以下解决方案已经有效,但它存在将未包含的所有内容转换为空白字符的问题.

po [(NSString *)[myNumberFormatter stringFromNumber:myNumber] stringByReplacingSequenceOfCharactersInSet:(NSCharacterSet *)[[NSCharacterSet characterSetWithCharactersInString:@"0123456789,."] invertedSet] with:@" "]
Run Code Online (Sandbox Code Playgroud)

编辑 --------------

我已经尝试了下面的答案,我认为这是错误的

po [(NSString *)[numberFormatter stringFromNumber:theNumber] stringByReplacingOccurrencesOfString:@"\u00a0" withString:@" "] 
Run Code Online (Sandbox Code Playgroud)

仍然产生相同的结果(\ xa0 char仍未删除).但是当我没有将它放在调试器中,而是将其放在代码中的NSString中时,存储了正确的答案并删除了\ xa0字符.猜猜我不应该单独依赖调试器日志.

cocoa cocoa-touch objective-c nsstring

0
推荐指数
1
解决办法
2045
查看次数

苹果虫?未调用UICollectionView targetContentOffsetForProposedContentOffset

我在StackOverflow上看到其他问题,我需要确保将分页设置为off.但我已经这样做了,但仍然没有被召唤.

有什么我想念的吗?

这是Github上的示例项目.除了设置集合视图的代码之外,根本没有代码.

这是代码:

func collectionView(collectionView: UICollectionView, targetContentOffsetForProposedContentOffset proposedContentOffset: CGPoint) -> CGPoint {
    return proposedContentOffset
}
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios swift

0
推荐指数
2
解决办法
1037
查看次数

如何使用Bind关联Swift枚举数组?

我的问题与此类似-> 如何使用绑定关联Swift枚举?

我已将提供的示例修改为数组。的GroupView,因为我想GroupView修改枚举数据接受绑定作为参数。原始问题与此问题的区别在于,在此问题中,枚举是一个数组,而不是单个数组。

我如何从枚举中提取绑定,以便GroupView可以正确地修改枚举?这是修改后的代码

import SwiftUI
struct ContentView: View {
    @ObservedObject var viewModel = ViewModel()
    var body: some View {
        VStack {
            ForEach(0..<viewModel.box.instructions.count) { index -> GroupView in
                let instruction = self.viewModel.box.instructions[index]

                return GroupView(v: ????) // How do i extract the binding here???
            }
        }
    }
}
struct GroupView: View {
    @Binding var v: Group
    var body: some View {
        Button("Hello: \(self.v.groupValue)") {
            self.v.groupValue += 1
        }
    }
}
class ViewModel : ObservableObject {
    @Published var …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

0
推荐指数
1
解决办法
146
查看次数

如何使用几何阅读器使视图不扩展?

我用过这样的几何阅读器

GeometryReader { r in
   ScrollView {
      Text("SomeText").frame(width: r.size.width / 2)
   }
}
Run Code Online (Sandbox Code Playgroud)

问题是阅读器垂直扩展很像Spacer(). 无论如何,我可以让它这样做吗?

swiftui

-1
推荐指数
1
解决办法
438
查看次数