我有一个带有多行UILabel的单元格,但是当文本的标签不适合框架时,不显示任何点.我怎样才能解决这个问题?
我遇到了问题,当DateComponentsFormatter返回意外的单位数时.有人遇到过同样的问题吗?
import Foundation
let formatter = DateComponentsFormatter()
formatter.unitsStyle = .full;
formatter.maximumUnitCount = 1;
let date = Date(timeIntervalSinceNow: -14.7 * 24 * 60 * 60)
let dateString = formatter.string(from: date, to: Date()) // 2 weeks 1 day
Run Code Online (Sandbox Code Playgroud)
我希望收到"2周",但有"2周1天".
我想禁用NSLog()应用中的所有实例.我发现了一些代码:
#ifndef DEBUG
#define NSLog //
#endif
Run Code Online (Sandbox Code Playgroud)
但是将此代码添加到每个文件并不是一个好主意.我怎样才能让它变得更容易?
我正在开发一个必须支持iOS6和iOS7的项目.我的问题是它在不同的系统上有所不同.我正在尝试使用等于2的行数创建UILabel,但是当我将它的换行模式设置为NSLineBreakByTruncatingTail时,它的工作方式不同.
解释(numberOfLines = 2,text = @"long teeexxxttt"):
iOS7 iOS6
NSLineBreakByWordWrapping
---------- ----------
|long | |long |
|teeeexxxtt| |teeeexxxtt|
---------- ----------
NSLineBreakByTruncatingTail
---------- ----------
|long | |long te...|
|teeeexx...| | |
---------- ----------
^ ^
| |
correct incorrect - shows only one line
Run Code Online (Sandbox Code Playgroud)
我如何解决它?
我试图找出这两种方法之间的实际区别。例如:
struct PrimaryLabel: ViewModifier {
func body(content: Content) -> some View {
content
.padding()
.background(Color.black)
.foregroundColor(Color.white)
.font(.largeTitle)
.cornerRadius(10)
}
}
extension View {
func makePrimaryLabel() -> some View {
self
.padding()
.background(Color.black)
.foregroundColor(Color.white)
.font(.largeTitle)
.cornerRadius(10)
}
}
Run Code Online (Sandbox Code Playgroud)
然后我们可以按以下方式使用所有这些:
Text(tech.title)
.modifier(PrimaryLabel())
Text(tech.title)
.makePrimaryLabel()
ModifiedContent(
content: Text(tech.title),
modifier: PrimaryLabel()
)
Run Code Online (Sandbox Code Playgroud)