下面是我的故事板,我有很多限制使这四个按钮很好地适应屏幕.但是,在我将图像放入按钮并检查故事板预览后,所有图像都会失真.我尝试在属性检查器面板上调整(尝试了所有选项)视图模式,但似乎根本没有效果.
还有一件事,我使用PDF作为矢量类型的图像集,而不是常规.png
文件我很想知道这是否重要?我应该以编程方式改变UIButton内部矢量图像的显示方式吗?
验证器图像大小为500px*500px.在@orkenstein的提醒后,我将图像调整为50px*50px,xcode可能无法很好地处理超大矢量图像.图像显示在按钮内部,因为它正好是50px*50px并且失去了缩放能力.另外,当他消化时,我应该在矢量图像里面UIImageView
和我的测试后,它在一个完美的工作UIImageView
.
我尝试使用 PUT/t/:id
更新主题内容,但没有效果。
https://github.com/discourse/discourse_api/blob/master/lib/discourse_api/api/topics.rb
似乎没有办法使用 API 更新内容。我错过了什么吗?
我正在尝试在Ubuntu 15上安装oh-my-zsh。运行安装脚本后
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Run Code Online (Sandbox Code Playgroud)
我有以下从未发生过的错误
/home/li-xinyang/.zshrc:3: command not found: ^M
/home/li-xinyang/.zshrc:9: command not found: ^M
/home/li-xinyang/.zshrc:12: command not found: ^M
/home/li-xinyang/.zshrc:16: command not found: ^M
/home/li-xinyang/.zshrc:19: command not found: ^M
/home/li-xinyang/.zshrc:22: command not found: ^M
/home/li-xinyang/.zshrc:25: command not found: ^M
/home/li-xinyang/.zshrc:28: command not found: ^M
/home/li-xinyang/.zshrc:31: command not found: ^M
/home/li-xinyang/.zshrc:34: command not found: ^M
/home/li-xinyang/.zshrc:39: command not found: ^M
/home/li-xinyang/.zshrc:44: command not found: ^M
/home/li-xinyang/.zshrc:47: command not found: ^M
/home/li-xinyang/.zshrc:52: command not found: ^M
/home/li-xinyang/.zshrc:53: …
Run Code Online (Sandbox Code Playgroud) 遵循规范使用JSON api,内容类型必须设置为application/vnd.api+json
; 但是,ContentType
在控制器中设置每个动作都显得乏味(参见下面的代码).
def foo
response.headers['Content-Type'] = 'application/vnd.api+json'
# ...
end
Run Code Online (Sandbox Code Playgroud)
是否有更好的方法来获得相同的结果?由于这是一个仅API应用程序,这可以在应用程序级别设置内容类型吗?
我正在NSButton
通过在线遵循代码进行第一个回合的子类化。但是,在我的子类中,layer
总是nil
.
我发现其他组件也有类似的行为,例如NSView
,要设置图层的属性,我需要将 的wantsLayer
属性设置NSView
为true
。
在线示例代码
@IBInspectable
var shadowOpacity: Float {
get {
return layer.shadowOpacity
}
set {
layer.shadowOpacity = newValue
}
}
Run Code Online (Sandbox Code Playgroud)
我的代码,
@IBInspectable
var shadowOpacity: Float {
get {
print(layer?)
return layer.shadowOpacity
}
set {
layer.shadowOpacity = newValue
}
}
Run Code Online (Sandbox Code Playgroud)
我的代码打印nil
在控制台中。
有没有办法设置wantsLayer
为true
默认?
问题是如何获取父视图中实际查看的渲染尺寸和位置?换句话说,如何Text("Foo")
在下面的 SwiftUI 代码中获取实际大小?
GeometryReader
可用于获取父建议size
和安全区域插入 via safeAreaInsets
,这些信息在 内部定义GeometryProxy
。从下面的截图中您可以看到,建议的尺寸为VStack
宽度300
和300
高度,实际尺寸VStack
未知。
struct FooView: View {
var body: some View {
GeometryReader { geometryProxy in
VStack {
Text("\(geometryProxy.size.height), \(geometryProxy.size.width)")
Text("Foo")
}
.background(Color.green)
}
.frame(width: 300, height: 300)
.background(Color.blue)
}
}
Run Code Online (Sandbox Code Playgroud) 语境
为了对 Core Data 对象进行性能操作,managedObjectContext
需要托管对象上下文。在SceneDelegate
选中“使用核心数据”选项的情况下生成项目时,上下文通过内部的环境变量传递到 View 中(见下文)。一个相关的问题是为什么必须通过环境变量传递核心数据上下文对象?
let contentView = MainView().environment(\.managedObjectContext, context)
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将 传递context
到视图模型时,它会抱怨以下内容
不能在属性初始值设定项中使用实例成员“上下文”;属性初始值设定项在 'self' 可用之前运行
struct MainView: View {
@Environment(\.managedObjectContext) var context
// Computed property cannot be used because of the property wrapper
@ObservedObject var viewModel = ViewModel(context: context)
}
class ViewModel: ObservableObject {
var context: NSManagedObjectContext
}
Run Code Online (Sandbox Code Playgroud)
添加一个init()
来初始化视图内的视图模型会导致不同的错误,从而导致构建失败。
未能产生表达诊断;请提交错误报告
init() {
self.viewModel = ViewModel(context: context)
}
Run Code Online (Sandbox Code Playgroud)
题
那么如何在视图模型中使用/获取/传递上下文呢?在视图模型中获取上下文的更好方法是什么?
我正在按照代码示例制作模糊的 UILabel,/sf/answers/4355743591/。
我的要求是在标签初始化后使标签模糊,而不是blur
在运行时调用该方法。但是,当我尝试blur
在标签初始化后调用时,返回的值UIGraphicsGetCurrentContext
因此nil
出现“致命错误:在展开可选值时意外发现 nil”
UIGraphicsBeginImageContext(bounds.size)
print("DEBUG: bounds.size", bounds.size)
self.layer.render(in: UIGraphicsGetCurrentContext()!) // <- return nil
var image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
print("DEBUG: image image", image)
Run Code Online (Sandbox Code Playgroud)
我尝试在以下所有位置单独添加代码,现在可以获取上下文,但它不会按预期生成模糊效果。
override func layoutSubviews() {
super.layoutSubviews()
self.blur()
}
// OR
override func draw(_ rect: CGRect) {
super.draw(rect)
self.blur()
}
Run Code Online (Sandbox Code Playgroud)
完整的代码片段,
class BlurredLabel: UILabel {
func blur(_ blurRadius: Double = 2.5) {
let blurredImage = getBlurryImage(blurRadius)
let blurredImageView = UIImageView(image: blurredImage)
blurredImageView.translatesAutoresizingMaskIntoConstraints = false
blurredImageView.tag = 100
blurredImageView.contentMode …
Run Code Online (Sandbox Code Playgroud) 尝试在 UIAction 中更改图标颜色但更改色调似乎根本不起作用。任何的想法?
let imageView = UIImage(systemName: "eye")!
.withTintColor(.red, renderingMode: .alwaysTemplate)
Run Code Online (Sandbox Code Playgroud)
下面的源代码来自Apple “将菜单和快捷方式添加到菜单栏和用户界面”示例,只是imageView
新元素。
func contextMenuActions() -> [UIMenuElement] {
let imageView = UIImage(systemName: "eye")?.withTintColor(.red, renderingMode: .alwaysTemplate)
// Actions for the contextual menu, here you apply two actions.
let copyAction = UIAction(title: NSLocalizedString("CopyTitle", comment: ""),
image: imageView,
identifier: UIAction.Identifier(rawValue: "com.example.apple-samplecode.menus.copy")) { action in
// Perform the "Copy" action, by copying the detail label string.
if let content = self.detailItem?.description {
UIPasteboard.general.string = content
}
}
Run Code Online (Sandbox Code Playgroud)
我试图让我的应用程序有更"平"的感觉所以我认为隐藏标题栏是个好主意.
但是,实际上titlebarAppearsTransparent
似乎只删除了标题栏阴影,但没有使标题栏真正透明.
在使用任何代码修改标题栏之前,
添加以下代码后(开始有更好的感觉),
self.window?.titlebarAppearsTransparent = true
Run Code Online (Sandbox Code Playgroud)
将背景颜色设置为白色,
self.window?.backgroundColor = NSColor.whiteColor()
self.window?.titlebarAppearsTransparent = true
Run Code Online (Sandbox Code Playgroud)
这当然不是我想要的.我以为我只是将标题栏变为透明true
.这里发生了什么?
任何提示或评论都表示赞赏,感谢您抽出时间查看此问题.