小编iOS*_*com的帖子

如何使用SwiftUI移除列表上的突出显示?

如何使用SwiftUI移除列表上的突出显示?

List {

}.whatModifierToAddHere?
Run Code Online (Sandbox Code Playgroud)

选择管理文档犯规说什么。

ios swiftui

8
推荐指数
6
解决办法
997
查看次数

如何在XCode中获得用户桌面的路径?

我试过了:

path = @"~/Desktop/files/text.plist";
NSDictionary *aDict = [NSDictionary dictionaryWithContentsOfFile:path];
Run Code Online (Sandbox Code Playgroud)

ResultPath:〜/ Desktop/files/text.plist

path = @"$(HOME)/Desktop/files/text.plist";
NSDictionary *aDict = [NSDictionary dictionaryWithContentsOfFile:path];
Run Code Online (Sandbox Code Playgroud)

ResultPath:$(HOME)/Desktop/files/text.plist

path = [NSHomeDirectory() stringByAppendingString:@"/Desktop/files/text.plist"];
NSDictionary *aDict = [NSDictionary dictionaryWithContentsOfFile:path];
Run Code Online (Sandbox Code Playgroud)

ResultPath:/ Users/my_name/Library/Application Support/iPhone Simulator/5.1/Applications/639DC66A-7092-4ECB-9E48-59935AC1C394/Desktop/files/text.plist

  1. 有没有办法在XCode中访问用户的桌面路径?
  2. 可以在上面的示例中使用环境变量以及如何使用?

编辑:第二个问题的进一步说明:就像MAC控制台中有环境变量(或宏)一样,这些也可以在代码中使用吗?如果可以使用它们,任何人都可以帮助一个例子吗?比如$ HOME_DIRECTORY或类似的东西.

cocoa path environment-variables ios

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

无法访问NSTask启动路径.适用于Xcode.XCode显示错误

好.有关此问题的堆栈溢出有几个问题.这个问题是最接近地雷的唯一问题,但它使用通知.

代码很简单.创建一个新的空Mac OSX项目,只需在applicationDidFinishLaunching:方法中粘贴以下代码即可.它应该获取任何可执行文件的路径(在本例中为GIT).

NSTask *aTask = [[NSTask alloc] init];
NSPipe *outputPipe = [NSPipe pipe];
NSPipe *errorPipe = [NSPipe pipe];

[aTask setStandardOutput: outputPipe];
[aTask setStandardError: errorPipe];
[aTask setArguments:[NSArray arrayWithObject:@"which"]];
[aTask setLaunchPath:@"/usr/bin/git"];

NSFileHandle *outputFileHandler = [outputPipe fileHandleForReading];
NSFileHandle *errorFileHandler = [errorPipe fileHandleForReading];

[aTask launch];
[aTask waitUntilExit];

// Task launched now just read and print the data
NSData *data = [outputFileHandler readDataToEndOfFile];
NSString *outPutValue = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];

NSData *errorData = [errorFileHandler readDataToEndOfFile];
NSString …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c nstask

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

使用UICollectionViewFlowLayout/UICollectionViewLayout子类,不会在正确的时间调用CellForItemAtIndexPath

这个问题不重复,虽然我在stavkOverflow上看到很多类似的问题.以下是我的代码的情况:

  1. 如果我的集合视图 UIStackView 之外,则正确调用CellForItemAtIndexPath.问题只发生在stackView内部

  2. 我已经从UICollectionViewFlowLayout正确地子类化了我的flowLayout.

  3. CollectionView正确返回numberOfSections和每个部分中的NumberOfItems.每个部分的项目数为42(6行×7列)

以下是问题所在:您可以看到它将到达未调用CellForItemAtIndexPath方法的位置.那里没有牢房.然后突然,当你到达滚动的某一点时,它会立即被调用,导致细胞出现.

在此输入图像描述

有谁知道错误是什么?如果UICollectionView未放置在UIStackView中,则不会发生此错误.

[编辑]

好.我已经缩小到UICollectionViewFlowLayout子类的问题.在那里有一小段代码可以将collectionView的布局更改为水平.意思是,视图上的单元格通常呈现如下:

[1][4][7]
[2][5][8]
[3][6][9]

//But the code should render it like this
[1][2][3]
[4][5][6]
[7][8][9]
Run Code Online (Sandbox Code Playgroud)

我有以下代码来执行此操作(取自KDCalendar).这段代码工作正常,但一旦它在stackView内部,它就会看到上面显示的内容.在stackView中,改变单元格顺序的方法是不同的?以下是导致问题的代码(仅在stackView内部)

override  public func layoutAttributesForItemAtIndexPath(indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes? {
    if let attrs = super.layoutAttributesForItemAtIndexPath(indexPath) {
        let attrscp = attrs.copy() as! UICollectionViewLayoutAttributes
        self.applyLayoutAttributes(attrscp)
        return attrscp
    }
    return nil
}

override public func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
    return super.layoutAttributesForElementsInRect(rect)?.map {
        attrs in
        let attrscp = attrs.copy() as! UICollectionViewLayoutAttributes
        self.applyLayoutAttributes(attrscp)
        return attrscp
    }
}

func applyLayoutAttributes(attributes …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios uicollectionview swift

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

当变量嵌套在对象中时,如何通过SwiftUI将绑定传递给子视图?

这有效

import SwiftUI
struct ContentView : View {
    @State var val1: Int = 0
    var body: some View {
        MySubview(val1: $val1)
    }
}

#if DEBUG
struct ContentView_Previews : PreviewProvider {
    static var previews: some View {
        ContentView(val1: 0)
    }
}
#endif

struct MySubview : View {
    @Binding var val1: Int
    var body: some View {
        return Text("Value = \(val1)")
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当变量嵌套在对象中时,这将失败

import SwiftUI
struct MyStruct {
    let number: Int
}

struct ContentView : View {
    @State var val1 = …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

6
推荐指数
2
解决办法
1385
查看次数

如何用纯 JavaScript 构建垂直轮播滚动条?

这就是我想要实现的目标

代码已经在这里,但我不知道如何让它在每个部分停止。 https://codepen.io/ellie_html/full/dyYjZyB

使上面的代码起作用的 css 部分是这样的

.container {
    height:570px;
    width: 325px;
   
    overflow-y: scroll;

    scroll-snap-type: mandatory;
    scroll-snap-points-y: repeat(3rem);
    scroll-snap-type: y mandatory;
    position: relative;
    left: 510px;
    top: 50px;
    z-index: 1;
    border-radius: 15px;
    border: none;
}

.tiktok {
    height: 620px;
    width:300px;
    background-color: black;
    scroll-snap-align: start;
}
Run Code Online (Sandbox Code Playgroud)

垂直轮播滚动器就像上面一样,不同之处在于,它必须停在每个部分上,而不是允许用户快速滚动每个部分。

我注意到如果向下滚动,Google Shorts https://www.youtube.com/shorts/3jqhfmUqgZk的行为方式相同。

给人一种活泼、清脆的感觉。然而,它也不允许它在每个部分停止。如果用户滚动速度非常快,它会跳过很多。

这如何在 JavaScript 中完成?到目前为止,我已经看过很多库,但它们都遇到了同样的问题。我正在尝试修改上面的代码以使其工作。

或者我正在重新创建轮子并且那里有一些小代码已经做到了这一点?

javascript carousel

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

有没有办法在Xcode中列出所有文件及其目标?

我是多个开发人员的项目的一部分.该项目包含多个目标.很多时候,文件被提交到Xcode项目存储库,其中包含一些不包含的目标(粗心的程序员).因此,每当我执行'svn up'并运行应用程序时,我的程序崩溃了.然后,我必须查看所有这些文件,看看哪个文件与缺少的目标一起提交,然后添加目标,并将文件重新发送到存储库(对于那个粗心的程序员)

是否有某种方法通过脚本自动将所有.m添加到特定目标?或列出特定目标缺少的所有文件?

我已经从脚本中查看了向XCode项目添加文件以供参考.

shell xcode applescript xcode4

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

如何使用代码旋转iOS模拟器?

有谁知道如何旋转iOS模拟器(6.0及以上)?我已经搜索过,但没有发现任何相关内容.

我试图通过代码(不是手动)来做到这一点,但如果它可以通过脚本完成,那么它必须从代码运行.甚至可以这样做吗?需要一些建议.

xcode applescript objective-c

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

如何使用 SwiftUI 制作自定义 Image resizable()

我有意见

struct CustomImageView : View {
    var body: some View {
        Image("someImage")
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在外面引用这个视图时,我无法调整图像大小。我知道我可以传递参数,但我正在寻找一种更简洁的方法来通过修饰符来做到这一点?

VStack {
   CustomImageView()
      .resizable()    // This does not work
}
Run Code Online (Sandbox Code Playgroud)

resizable 似乎只能直接处理图像。有谁知道如何使 CustomImageView 可调整大小?

更新:我知道我可以使用参数,但是无论如何可以使用修饰符来做到这一点?Resizable 只是一种属性,但还有其他属性。并将它们全部列为单个变量将太多

基于@matteo-pacini 实现的答案 它使用 AlamofireImage 在 ImageView 中加载远程图像。

struct RemoteImage : View {
    var url: URLConvertible
    @ObjectBinding var imageLoader = AlamofireImageLoader()

    private (set) var _resizable: (capInsets: EdgeInsets, resizingMode: Image.ResizingMode) = (EdgeInsets(), .stretch)

    var body: some View {
        Image(uiImage: imageLoader.image)
            .resizable(capInsets: _resizable.capInsets, resizingMode: _resizable.resizingMode)
            .onAppear() {
                self.imageLoader.loadImage(url: self.url)
            }
    } …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

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

How to get dynamic Text height for a ScrollView with SwiftUI

this gives me dynamic text height correctly

import SwiftUI
struct ContentView : View {
    var body: some View {
        List {
            Text("This is some very long text can we can see scrolls past two lines ").lineLimit(nil)   
        }
    }
}

#if DEBUG
struct ContentView_Previews : PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
#endif
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

But the following truncates the Text. How do i get dynamic height with the following?

import SwiftUI
struct ContentView : View {
    var body: …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

5
推荐指数
3
解决办法
6497
查看次数