小编Edd*_*ddy的帖子

如何在 SwiftUI 中循环视图构建器内容子视图

所以我试图创建一个视图,它接受 viewBuilder 内容,循环内容的视图并在每个视图和另一个视图之间添加分隔符

struct BoxWithDividerView<Content: View>: View {
    let content: () -> Content
    init(@ViewBuilder content: @escaping () -> Content) {
        self.content = content
    }
    var body: some View {
        VStack(alignment: .center, spacing: 0) {
            // here
            
        }
        .background(Color.black)
        .cornerRadius(14)
    }
}
Run Code Online (Sandbox Code Playgroud)

所以在我写“here”的地方,如果有意义的话,我想遍历内容的视图。我将编写一个不起作用的代码,但它解释了我想要实现的目标:

ForEach(content.subviews) { view  in
     view
     Divider()
}
Run Code Online (Sandbox Code Playgroud)

怎么做?

custom-view swiftui viewbuilder

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

如何阻止UILabel在最后修剪空间?

我有一个UILabel就像一个自动收报机所以每隔0.09秒就会改变文字,但是当标签末尾的空格被修剪时,它看起来就像是自动收报机了.

这是代码:

[self setTickerLabel: [ [UILabel alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height - 40, self.view.bounds.size.width, 40)]];


[self.tickerLabel setFont:[UIFont fontWithName:@"Courier" size:TICKER_FONT_SIZE]];

self.text =[NSString stringWithFormat:@"%@",self.result];


self.tickerLabel.textAlignment = NSTextAlignmentRight;

[self.tickerLabel setText:self.text];

[self.tickerLabel setLineBreakMode:NSLineBreakByWordWrapping];


[NSTimer scheduledTimerWithTimeInterval:TICKER_RATE target:self selector: @selector(nudgeTicker:) userInfo:nil repeats:YES];

[self.view addSubview:self.tickerLabel];
Run Code Online (Sandbox Code Playgroud)

轻推Ticker方法执行以下操作:

NSString* firstLetter = [self.text substringWithRange: NSMakeRange(0,1)];
NSString* remainder = [self.text substringWithRange:NSMakeRange(1,[self.text length]-1)];
self.text=[remainder stringByAppendingString: firstLetter];
self.tickerLabel.text=self.text;
Run Code Online (Sandbox Code Playgroud)

我真的需要一些帮助.我怎样才能解决这个问题?顺便说一句,UILabel的文字是阿拉伯语.

spaces trim arabic uilabel ios

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

标签 统计

arabic ×1

custom-view ×1

ios ×1

spaces ×1

swiftui ×1

trim ×1

uilabel ×1

viewbuilder ×1